第一个只出现一次的字符
关键是统计出每个字符出现的次数,我就想的是建立一个数组,初始都为0,把那个字母的ascii那一位+1,最后当那一位是1就证明只出现了一次。
#include<iostream>
using namespace std;
int main(){
string s;
while(cin>>s){
int flag = 1,i;
int a[1000]={};
for(i = 0;i<s.length();i++)
{
a[(int)s[i]] += 1;
}
for(i = 0;i<s.length();i++)
{
if(a[(int)s[i]]==1)
{
cout<<s[i]<<endl;
flag = 0;
break;
}
}
if(flag)
{
cout<<-1<<endl;
}
}
return 0;
}
查看10道真题和解析