题解 | #找出字符串中第一个只出现一次的字符#
找出字符串中第一个只出现一次的字符
http://www.nowcoder.com/practice/e896d0f82f1246a3aa7b232ce38029d4
#include <stdio.h>
int main()
{
char str[1000] = {0};
char c = '0';
gets(str);
int len = strlen(str);
int array[len];
memset(array, 0, len*sizeof(int));
for(int i = 0; i < len; i++)
{
c = str[i];
for(int j = 0; j < len; j++)
{
//printf("c = [%c], str[%d] = [%c]\n", c, j, str[j]);
if(c == str[j])
{
array[i]++;
}
}
}
int flag = 0; //标志位,标识是否有仅出现一次的字符
for(int i = 0; i < len; i++)
{
if(array[i] == 1) //第一次为1,说明为第一个仅出现一次的字符
{
flag++;
printf("%c\n", str[i]);
break;
}
}
c = '-1';
if(flag == 0)
{
printf("%d\n", -1);
}
return 0;
}