题目:找到字符串中第一个没有与之相同的字符,返回其索引。
思路分析:遍历字符串,将字符存进map里,如果之前已有这个字符,那value+1。之后再遍历一遍字符串,找到第一个值为1的index。
public int firstUniqChar(String s) {
Map<Character,Integer> map=new HashMap<>();
char[] chS=s.toCharArray();
int index=-1;
for(int i=0;i<chS.length;i++){
if(map.containsKey(chS[i])){
map.put(chS[i],map.get(chS[i])+1);
}
else{
map.put(chS[i],1);
}
}
for(int i=0;i<chS.length;i++){
if(map.get(chS[i])==1) {
index=i;
break;
}
}
return index;
}