387. First Unique Character in a String
Given a string s, find the first non-repeating character in it and return its index. If it does not exist, return -1
Hash TableExample 1:
- Input:
s = "leetcode" - Output:
0 - Explanation: The character
'l'at index0is the first character that does not occur at any other index.
Example 2:
- Input:
s = "loveleetcode" - Output:
2
Example 3:
- Input:
s = "aabb" - Output:
-1
Constraints:
1 <= s.length <= 10^5sconsists of only lowercase English letters.
Approach
Solution
/**
* @param {string} s
* @return {number}
*/
var firstUniqChar = function (s) {
const freq = {};
for (let c of s) freq[c] = (freq[c] || 0) + 1;
for (let i = 0; i < s.length; i++) {
if (freq[s[i]] === 1) {
return i;
}
}
return -1;
};