第一个只出现一次的字符
在字符串中找出第一只出现一次的字符,如输入“abaccdeff“,则输出b。
在这里讲解利用哈希表来解决的方法。因为题目简单所有这里的哈希表可以是用ASCII码为键值的数组。
下面是代码:
char FirstNotRepeatingChar(char* pString) { if( pString == NULL) return '\0'; const int tableSize = 256; unsigned int hashTable[tableSize]; //初始化哈希表 for(int i=0; i < tableSize ;++i ) hashTable[i] = 0; //遍历整个字符串 char* pHashkey = pString; while( *pHashkey !='\0') { hashTable[*pHashkey] ++; pHashkey++; } pHashkey = pString; while( *pHashkey != '\0') { if( hashTable[*pHashkey] == 1) return *pHashkey; pHashkey++; } return '\0'; }