leetcode 387. 字符串中的第一个唯一字符 easy
题目描述:
给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。
案例:
s = "leetcode"
返回 0.
s = "loveleetcode",
返回 2.
注意事项:您可以假定该字符串只包含小写字母。
解题思路:
先遍历一遍字符串,统计字符出现的次数(用哈希表),然后再遍历字符串,同时查表,找到第一个出现次数为1的字符,返回其位置即可
代码:
class Solution {
public:
int firstUniqChar(string s) {
if(s.empty())
return -1;
unordered_map<char,int> dict;
for(auto c:s)
++dict[c];
for(int i=0;i<s.size();++i)
if(dict[s[i]]==1)
return i;
return -1; // 没找到
}
};