题目:在一个字符串中找到第一个只出现一次的字符。
例如输入 abaccdeff ,则输出b
此题据说是2006年google的一道笔试题
假设全都是ASCII码,也就是说一个字符对应一个相应的整数
- #include<stdio.h>
- #include<string.h>
- char first_single_char(char* str) {
- int ascii[255];
- memset(ascii, 0, sizeof(ascii));
- char* p = str;
- while(*p != '\0') {
- ascii[*p]++;
- p++;
- }
- p = str;
- while(*p++ != '\0') {
- if(ascii[*p] == 1) {
- return *p;
- }
- }
- return '\0';
- }
- int main() {
- char str[] = "abaccdeff";
- char result = first_single_char(str);
- printf("%c\n",result);
- }
http://blog.csdn.net/stevemarbo/article/details/7288075