leetcode-剑指 Offer 50. 第一个只出现一次的字符
在字符串 s 中找出第一个只出现一次的字符。如果没有,返回一个单空格。 s 只包含小写字母。
示例:
s = “abaccdeff”
返回 “b”
s = “”
返回 " "
限制:
0 <= s 的长度 <= 50000
解题思路:
使用哈希统计每个字符出现的次数,然后再重新遍历s字符串, 而不是mp,从头开始查找出现一次的字符。
class Solution {
public:
char firstUniqChar(string s) {
unordered_map<char,int> mp;
for(auto x:s)
mp[x]++;
for(auto x:s)
{
if(mp[x]==1)
return x;
}
return ' ';`
}
};