标题: [Microsoft面试]题目:在一个字符串中找到第一个只出现一次的字符。 [打印本页] 作者: 陈荣莲 时间: 2013-8-16 10:58 标题: [Microsoft面试]题目:在一个字符串中找到第一个只出现一次的字符。 如输入abaccdeff,则输出b。 要求时间复杂度是O(n)。如果有多对数字的和等于输入的数字,输出任意一对即可。分析:这道题是2006年google 的一道笔试题。作者: 秦静静 时间: 2013-8-16 11:11
Again, thisdepends on what is “char”. Let’s assume it as ASCII.char firstSingle(char * str) { int a[255]; memset(a, 0, 255*sizeof(int)); char *p=str; while (*p!=’\0’) { a[*p] ++; p++; } p = str; while (*p!=’\0’) { if (a[*p] == 1) return *p; } return ‘\0’; // this must the one thatoccurs exact 1 time.}