LeetCode387-字符串中的第一个唯一字符

LeetCode387-字符串中的第一个唯一字符

哈希表

扫一遍统计各个字符出现的次数,第二遍扫判断第一个字符在哈希表里的值为1的返回其下标

1
2
3
4
5
6
7
8
9
10
11
Map<Character, Integer> map = new HashMap<>(26);
char[] chars = s.toCharArray();
for (char ch : chars) {
map.put(ch, map.getOrDefault(ch, 0) + 1);
}
for (int i = 0; i < chars.length; i++) {
if (map.get(chars[i]) == 1) {
return i;
}
}
return -1;