程序员面试题100题第13题——第一个只出现一次的字符
题目:在一个字符串中找到第一个只出现一次的字符。
分析:此类题型需要建立对应的hash字符数组,空间换时间;
对于指针切记要检查是否为NULL,
对于while循环不要忘记++或--
代码:
char FindFirstNotRepeatChar(char* pStr) { unsigned int arr[256]={0};//建立对应字符的hash数组 char* p=pStr; if(p==NULL) { return 0; } while(*p != '\0') { arr[*p]++;//计数, p++; } p=pStr; while(*p != '\0') { if(arr[*p]==1) break; p++; } return *p; }