Given a string s
, find the first non-repeating character in it and return its index. If it does not exist, return -1
.
Input: s = "leetcode"
Output: 0
Input: s = "loveleetcode"
Output: 2
Input: s = "aabb"
Output: -1
1 <= s.length <= 10^5
s
consists of only lowercase English letters.
Hash
function firstUniqChar(s: string): number {
const hash = {};
for (let i of s) {
if (i in hash) {
hash[i] += 1;
} else {
hash[i] = 1;
}
}
for (let i of s) {
if (hash[i] == 1) {
return s.indexOf(i);
}
}
return -1;
}