387.字符串中的第一个唯一字符

给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。

示例:

1
2
3
4
5
s = "leetcode"
返回 0

s = "loveleetcode"
返回 2

Solution

经典Map统计字符出现频数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class Solution {
public int firstUniqChar(String s) {
String[] x=s.split("");
Map<String,Integer> map=new HashMap<>();
for(int i=0;i<s.length();i++){
int count = map.getOrDefault(x[i],0)+1;
map.put(x[i],count);
}
for(int j=0;j<s.length();j++){
if(map.get(x[j])==1){
return j;
}
}
return -1;
}
}