剑指 Offer 50. 第一个只出现一次的字符

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

输入:s = "abaccdeff"
输出:'b'
复制代码
class Solution {
public:
    char firstUniqChar(string s) {
        unordered_map<char,bool> umap;
        for(auto i:s)
        {
            umap[i]= (umap.find(i)==umap.end());
        }
        for(auto i:s)
            if(umap[i])return i;
        return ' ';
    }
};
复制代码

比较简单的问题,这个解法很精妙了。或者有邪道方法,逐个查,查该s首次出现位置是否等于最后出现位置。。。又或者用正常的map思路。

posted @   简直可啪  阅读(14)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
点击右上角即可分享
微信分享提示