这题是 772. 只出现一次的字符 的进阶版,包括了所有字符,不只是字母,就不方便用数组模拟了,换成用哈希表,其余做法完全一样
class Solution {
public:
char firstNotRepeatingChar(string s) {
if (s.empty()) return '#';
unordered_map<char, int> hash;
for (int i = 0; s[i]; i ++ ) hash[s[i]] ++ ;
for (int i = 0; s[i]; i ++ )
if (hash[s[i]] == 1)
return s[i];
return '#';
}
};