一个字符串中查找第一个只出现一次的字符 ,时间复杂度为O(N)
#include <stdio.h>
#include <stdlib.h>
char first_single(const char *str)
{
int asc[255] = {0};
int i;
for(i = 0; str[i]!='\0';i++)
{
asc[str[i]]++;
}
for(i = 0; str[i]!='\0'; i++)
{
if(asc[str[i]]==1)
{
return str[i];
}
}
return '\0';
}
int main()
{
char str[] = "abcdefgag";
printf("%c\n",first_single(str));
return 0;
}
|