第一个只出现一次的字符
题目:在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b。 分析:这道题是2006年google的一道笔试题。
生不逢时,google要是给我出这种题目^_^.大概就是用到了hash的思想!!!!其实你也可以理解为是什么桶排序
#include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { int i = 0; char* str = "abaccdeff"; int ch[256]; memset(ch,0,sizeof(ch)); int len = strlen(str); for(i=0; i<len; i++) ch[str[i]-'0']++; for(i=0; i<len; i++) if(ch[str[i]-'0'] == 1) { printf("in str:%s\nfirst apprear once is %c\n",str,str[i]); break; } system("PAUSE"); return 0; }
|
阅读(2124) | 评论(6) | 转发(0) |