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

找出字符串中第一个只出现一次的字符

https://www.nowcoder.com/practice/e896d0f82f1246a3aa7b232ce38029d4

#include<iostream>
#include<string>
#include<unordered_map>
using namespace std;
int main(){
    string s;
    cin>>s;
    unordered_map<char, int> hash;
   //利用hash表计数
    for(int i=0;i<s.size();i++){
       hash[s[i]]++;    
    }
    //统计所有只出现一次的字符
    string ss;
    for(int i=0;i<s.size();i++){
        if(hash[s[i]]==1)
            ss=ss+s[i];
        }
    //如果存在,就输出第一次出现的字符;否则输出-1
    if(ss.size()>0)
        //cout<<ss[0]<<endl;
        cout<<ss.front()<<endl;
    else
        cout<<-1<<endl;  
    return 0;
}
全部评论

相关推荐

emo的打工鸭又被画饼了:我看你是外星人,听哥劝,你不应该来地球找工作的,地球要996的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务