给定一个字符串 s
,找到 它的第一个不重复的字符,并返回它的索引 。如果不存在,则返回 -1
。
解题分析:
可以将放入hashMap中,键放字符,值放该字符出现次数,然后将hashMap遍历得到出现次数为1的字符,然后返回下标,否则返回-1
class Solution {
public int firstUniqChar(String s) {
Map<Character,Integer> map = new HashMap<>();
for (int i = 0; i <s.length() ; i++) {
char a = s.charAt(i);
if (map.containsKey(a)){
map.put(a,map.get(a)+1);
}else {
map.put(a,1);
}
}
for (int i = 0; i <s.length() ; i++) {
if (map.get(s.charAt(i))==1){
return i;
}
}
return -1;
}
}
运行结果: