C/C++面試題,使用256大小的表,掃描兩遍,第一遍統計每個字符的個數,第二遍找到第1個只出現一次的字符。
注意:
1.str爲NULL時,返回\0;
2.找不到第1個只出現1次的字符時,返回\0;
3.table不要忘記初始化爲全0。
char find_first_not_repeat_char(char *str)
{
if (str == NULL)
return '\0';
int table[256] = {0};
for(char *p = str; *p != '\0'; p++){
table[*p]++;
}
for(char *p = str; *p != '\0'; p++){
if (table[*p] == 1)
return *p;
}
return '\0';
}