又是瞥到了标签——哈希表
然后看看·想到题目,“不重复”,用map试试
两次for循环遍历,第一遍将字符映射到哈希表中,第二遍找第一个mapped_type为1的就好
class Solution {
public:
int firstUniqChar(string s) {
map<char,int>charmap;
for(int i=0;i<s.size();++i){
++charmap[s[i]];
}
for(int i=0;i<s.size();++i)
if(charmap[s[i]]==1)
return i;
return -1;
}
};