首页 > 试题广场 >

给你一个字符串,找出第一个不重复的字符,如“abbbabcd

[问答题]

给你一个字符串,找出第一个不重复的字符,如“abbbabcd”,则第一个不重复就是c

char firstNonDuplicate(std::string s) {
    std::unordered_map<char, int> m;
    for(auto c : s) ++m[c];
    for(auto c : s) {
        if(m[c] == 1) return c;
    }
    return 0; // '\0'
}
发表于 2019-08-28 11:42:59 回复(6)
char firstNonDuplicate(std::string s) {
    unordered_map<char,bool>    m;
    for(char c : s){
        m[c] = m.find(c) == m.end();
    }
    for(char c : s){
        if(m[c])    return c;
    }
    
    return 0; 
}

发表于 2021-04-06 18:44:12 回复(0)