题目描述
在一个字符串(1<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置
思路
第一次扫描全字符串,统计每个字符出现的次数
第二次扫描全字符串,如果遇到出现次数为1的字符,记录下标,跳出
class Solution {
public:
int FirstNotRepeatingChar(string str) {
map<char,int> sta;
for(int i=0;str[i]!='\0';i++){
sta[str[i]]++;
}
int index=-1;
for(int i=0;str[i]!='\0';++i){
if(sta[str[i]]==1){
index=i;
break;
}
}
return index;
}
};