题目:
暴力搜索的复杂度是N^2,所以我们得想个优化办法。
我们先遍历字符一次,在map中存入每个字符的频数。然后再遍历一次返回第一个频数为1的字符。
C++:
class Solution {
public:
char firstUniqChar(string s) {
unordered_map<int, int> frequency;
for (char ch: s) {
++frequency[ch];
}
for (int i = 0; i < s.size(); ++i) {
if (frequency[s[i]] == 1) {
return s[i];
}
}
return ' ';
}
};