Given a string, find the first non-repeating character in it and return it's index. If it doesn't exist, return -1.
Examples:
s = "leetcode" return 0. s = "loveleetcode", return 2.
Note: You may assume the string contain only lowercase letters.
分析:
返回第一个非重复元素的下标,不存在则返回-1。建立哈希表,记录每个字符的个数,再从哈希表开始处遍历,如果某个字符的个数为1,返回索引即可。
class Solution {
public:
int firstUniqChar(string s) {
unordered_map<char , int>m;
for(char c : s)
m[c]++;
for(int i=0; i<s.size(); i++)
{
if(m[s[i]] == 1)
return i;
}
return -1;
}
};