在字符串 s 中找出第一个只出现一次的字符。如果没有,返回一个单空格。 s 只包含小写字母。
示例1
s = “abaccdeff”
返回 “b”
示例2
s = “”
返回 " "
解法:哈希表
char firstUniqChar(string s)
{
unordered_map<int, int> counts;
for (auto& x : s)
{
counts[x]++;
}
for (auto& x : s)
{
if (counts[x] == 1)
{
return x;
}
}
return ' ';
}
该博客介绍了如何利用哈希表来查找字符串中第一个只出现一次的字符。通过遍历字符串两次,第一次构建哈希表统计字符频率,第二次遍历找到第一个频率为1的字符并返回。当字符串为空或者所有字符都重复时,返回空格。

被折叠的 条评论
为什么被折叠?



