统计字符串中每个字符出现的次数,然后再从左到右遍历字符串,找出出现次数为1的字符串。
class Solution {
public:
int FirstNotRepeatingChar(string str) {
if(!str.size()) return -1;
map<char,int> counter;
for(int i = 0;i<str.size();i++){
counter[str[i]]++;
}
for(int i = 0;i<str.size();i++){
if(counter[str[i]]==1)
return i;
}
return -1;
}
};
网友评论