第5题 在一个字符串中找到第一个只出现一次的字符
2012-02-23 18:05
471 查看
题目:在一个字符串中找到第一个只出现一次的字符。
例如输入 abaccdeff ,则输出b
此题据说是2006年google的一道笔试题
假设全都是ASCII码,也就是说一个字符对应一个相应的整数
此题的解法我认为非常巧妙,我也没想到此题还有如此简单的解法,这个解题思路一定要理解
例如输入 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); }
此题的解法我认为非常巧妙,我也没想到此题还有如此简单的解法,这个解题思路一定要理解
相关文章推荐
- 微软面试100题之17题:在一个字符串中找到第一个只出现一次的字符
- 在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b
- 在一个字符串中找到第一个只出现一次的字符
- 在一个字符串中找到第一个只出现一次的字符
- HWOJ 在一个字符串中找到第一个只出现一次字符
- 在一个字符串(1<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置
- 在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b;
- 在一个字符串中找到第一个只出现一次的字符。如输入:abcdab,则输出:c。
- 在一个字符串中找到第一个只出现一次的字符
- 在一个字符串中个找到只出现一次的第一个字符
- 在一个字符串中找到第一个只出现一次的字符
- 17、在一个字符串中找到第一个只出现一次的字符
- 算法与数据结构面试题(21)-在一个字符串中找到第一个只出现一次的字符
- 在一个字符串中找到第一个只出现一次的字符
- 在一个字符串中找到第一个只出现一次的字符
- 在一个字符串中找到第一个只出现一次的字符。
- 在一个字符串(1<=字符串长度<=10000,全部由大小写字母组成)中找到第一个只出现一次的字符,并返回它的位置
- 在一个字符串中找到第一个只出现一次的字符
- 每日一道算法题:在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b。
- 在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b