Given a string s
, find the first non-repeating character in it and return its index. If it does not exist, return -1
.
Example 1:
Input: s = "leetcode" Output: 0
Example 2:
Input: s = "loveleetcode" Output: 2
Example 3:
Input: s = "aabb" Output: -1
Constraints:
1 <= s.length <= 105
s
consists of only lowercase English letters.
Companies:
Facebook, Bloomberg, Amazon, Apple, Zillow, Goldman Sachs, Microsoft, Google, Yahoo
Related Topics:
Hash Table, String, Queue, Counting
Similar Questions:
// OJ: https://leetcode.com/problems/first-unique-character-in-a-string/
// Author: github.com/lzl124631x
// Time: O(S)
// Space: O(1)
class Solution {
public:
int firstUniqChar(string s) {
int cnt[26] = {0};
for (char c : s) cnt[c - 'a']++;
for (int i = 0; i < s.size(); ++i) {
if (cnt[s[i] - 'a'] == 1) return i;
}
return -1;
}
};