每日力扣-哈希-第一个只出现一次的字符

93 阅读1分钟

在字符串 s 中找出第一个只出现一次的字符。如果没有,返回一个单空格。 s 只包含小写字母。

解题思路:2次遍历,第一次放进hash表,第二次每查询一个字符如果其hash值是1就输出

class Solution {
public:
    char firstUniqChar(string s) {
        if(s.size() == 0) return ' ';
        unordered_map<char,int> hash;
        for(int i = 0 ; i < s.size() ; i++)
        {
            hash[s[i]] ++;
        }
        for(int i = 0 ; i < s.size() ; i++)
        {
            if(hash[s[i]] == 1)return s[i];
        }
        return ' ';
    }
};