# 387. 字符串中的第一个唯一字符
# 题目
给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。
s = "leetcode" 返回 0
s = "loveleetcode" 返回 2
# 题解
# 哈希表
/**
* @param {string} s
* @return {number}
*/
var firstUniqChar = function(s) {
let m = new Map();
for (let i = 0; i < s.length; ++i) {
let x = s[i];
if (m.has(x)) m.set(x, -1);
else m.set(x, i);
}
for (let v of m.values()) {
if (v >= 0) return v;
}
return -1;
};
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16