第六十六题
直接用hash表统计每个字出现的次数
class Solution {
public:
int FirstNotRepeatingChar(string str) {
// 遍历一遍保存所有的点到hash表,然后再遍历一遍,判断是否是只出现过一次的
map<char, int> hash;
// 遍历 记录出现次数
for (int i=0;i<str.size();i++) {
++hash[str[i]];
}
// 第二次遍历,找到第一个只出现过一次的,并直接返回
for (int i=0; i<str.size(); i++) {
if (hash[str[i]] == 1)
return i;
}
return -1;
}
};
public:
int FirstNotRepeatingChar(string str) {
// 遍历一遍保存所有的点到hash表,然后再遍历一遍,判断是否是只出现过一次的
map<char, int> hash;
// 遍历 记录出现次数
for (int i=0;i<str.size();i++) {
++hash[str[i]];
}
// 第二次遍历,找到第一个只出现过一次的,并直接返回
for (int i=0; i<str.size(); i++) {
if (hash[str[i]] == 1)
return i;
}
return -1;
}
};