题解 | #第一个只出现一次的字符#

第一个只出现一次的字符

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;
    }
};

题解 文章被收录于专栏

一遍做剑指offer 一边保存做题步骤 并附带详细注释哦

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务