题目:在一个字符串(1<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置
思路:用map保持信息
public int FirstNotRepeatingChar(String str) {
if(str == null || str.length()<=0) return -1;
HashMap<Character,Integer> hash = new HashMap<Character,Integer>();
char[] chars = str.toCharArray();
for(int i=0;i<chars.length;i++){
if(hash.get(chars[i])!= null){
hash.put(chars[i],hash.get(chars[i])+1);
}else{
hash.put(chars[i],1);
}
}
for(int i=0;i<chars.length;i++){
if(hash.get(chars[i]) == 1) return i;
}
return -1;
}