题解 | #找出字符串中第一个只出现一次的字符#
找出字符串中第一个只出现一次的字符
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;
}
#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;
}