题解 | #找出字符串中第一个只出现一次的字符#
找出字符串中第一个只出现一次的字符
http://www.nowcoder.com/practice/e896d0f82f1246a3aa7b232ce38029d4
将字符放入对应角标的数组位置,如果有重复的该位置数字加一,之后判断其值就可找到第一次出现的字符。
#include<stdio.h>
#include<string.h>
int main()
{
char a[10000]={0};
while(scanf("%s",a)!=EOF)
{
int b[26]={0};
int len=strlen(a);
for(int i=0;i<len;i++)
{
b[a[i]-'a']=b[a[i]-'a']+1;
}
int m,k=0,l=-1;
for(int i=0;i<26;i++)
{
if(b[a[i]-'a']==1)
{
k=k+1;
m=a[i];
printf("%c\n",m);
break;
}
}
if(k==0)
printf("%d\n",l);
}
}