用桶做的,存储所有的数字出现的次数,然后再次遍历,第二次的时候直接输出第一个次数为一的,就可以了,这里的话,没有什么太难的地方,暂时想不到有更好的解决办法
#include<stdio.h>
#include<string.h>
using namespace std;
char str[1005],tag=0;
int b[27];
int main(){
while(scanf("%s",str)!=EOF){
tag=0;
memset(b,0,sizeof(b));
for(int i=0;str[i]!=0;i++){
b[str[i]-'a']++;
}
for(int i=0;str[i]!=0;i++){
if(b[str[i]-'a']==1){
tag=str[i];
break;
}
}
if(tag==0){
printf("-1\n");
}else{
printf("%c\n",tag);
}
}
return 0;
} 
京公网安备 11010502036488号