用桶做的,存储所有的数字出现的次数,然后再次遍历,第二次的时候直接输出第一个次数为一的,就可以了,这里的话,没有什么太难的地方,暂时想不到有更好的解决办法
#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; }