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

第一个只出现一次的字符

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;
    }
};
全部评论

相关推荐

ResourceUt...:楼主有自己的垃圾箱,公司也有自己的人才库
点赞 评论 收藏
分享
野猪不是猪🐗:还是太卑微了,什么叫放弃本次面试应该说经过评估,贵公司与自己不匹配,决定不再推进后续流程
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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