题解 | #第一个只出现一次的字符#
第一个只出现一次的字符
http://www.nowcoder.com/practice/1c82e8cf713b4bbeb2a5b31cf5b0417c
第六十六题
直接用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;
}
};
题解 文章被收录于专栏
一遍做剑指offer 一边保存做题步骤 并附带详细注释哦