java 求解字符串中第一次出现的字符的位置
2016-03-27 22:45
495 查看
题目:
解法:以空间换时间,借助Hashmap实现
在字符串中找出第一个只出现一次的字符的位置,如输入“abaccdeff”,则输出“2”。
解法:以空间换时间,借助Hashmap实现
import java.util.HashMap; import java.util.Map; import java.util.Set; public class Solution { public int FirstNotRepeatingChar(String str) { if(str==null||"".equals(str)) return -1; Map<Character,Integer> map = new HashMap<Character,Integer>(); Set<Character> keys = map.keySet(); for(int i=0;i<str.length();i++){ char c = str.charAt(i); if(keys.contains(c)){ int value = map.get(c).intValue(); value++; map.put(c, value); }else{ map.put(c,1); } } for(int i=0;i<str.length();i++){ char c = str.charAt(i); if(map.get(c).intValue()==1) return i; } return -1; } }
相关文章推荐
- jdk动态代理和cglib动态代理
- Spring的@Resource注解及原理
- 20145213《Java程序设计》第四周学习总结
- 20145334赵文豪 《Java程序设计》第4周学习总结
- jmeter java sampler测试java接口(二)测试自己的代码
- 共同学习Java源码--concurrent包黑科技--Executor和ExecutorService
- Eclipse 使用 SVN 插件后修改用户方法汇总
- 说说Java中的代理模式
- Map对象与JavaBean互转,List<Map>与List<JavaBean>互转等
- maven--初见
- 20145222黄亚奇《Java程序设计》第4周学习总结
- 20145239杜文超 《Java程序设计》第4周学习总结
- 正式开始重新学习java
- JAVA第二次作业
- Spring配置文件写法
- 如何解决Android在eclipse中项目同时使用viewpagerindicator,slidingmenu开源框架时项目报错的问题
- 几句话弄清楚Java参数传值还是传引用
- 20145206邹京儒《Java程序设计》第4周学习总结
- java int与integer的区别
- spring mvc 小结-51cto学院Spring MVC