题解 | #第一个只出现一次的字符#

第一个只出现一次的字符

http://www.nowcoder.com/practice/1c82e8cf713b4bbeb2a5b31cf5b0417c

class Solution {
public:
    int FirstNotRepeatingChar(string str) {
        unordered_map<char,int>m_firstpos;
        unordered_map<char,int>m_nums;
        for(int i=0;i<str.size();i++){
            char c=str[i];
            if(!m_nums.count(c)){
                m_firstpos[c]=i;m_nums[c]=1;
            }
            else{
                m_nums[c]++;
            }
        }
        int minpos=str.size();
        for(auto it=m_nums.begin();it!=m_nums.end();it++){
            if(it->second==1){
                minpos=min(minpos,m_firstpos[it->first]);
            }
        }
        if(minpos!=str.size())return minpos;
            
        return -1;
    }
};
全部评论

相关推荐

03-31 14:46
已编辑
门头沟学院 Web前端
励志成为双港第一ja...:这其实很正常,离的太远了,他认为你不会来,就为了混个面试,而且成本很高,实习生都优先选本地高校。吃了地域的亏,所有很多时候地域可能比院校层次更重要。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务