The first character code that appears only once (c)
Address: http://blog.csdn.net/caroline_wendy
Question: Find the first character that appears only once in the string.
The character is of the char type, so it matches256 typesPossible, useHash table, Calculate the number of occurrences, and then find the first occurrence of characters.
Code:
/* * main.cpp * * Created on: 2014.6.12 * Author: Spike *//*eclipse cdt, gcc 4.8.1*/#include <stdio.h>#include <stdlib.h>#include <string.h>char FirstNotRepeatingChar (char* pString) {if (pString == NULL)return ‘\0‘;const int tableSize = 256;unsigned int hastTable[tableSize];for (unsigned int i=0; i<tableSize; ++i)hastTable[i] = 0;char* pHashKey = pString;while (*pHashKey != ‘\0‘)hastTable[*(pHashKey++)]++;pHashKey = pString;while (*pHashKey != ‘\0‘) {if (hastTable[*pHashKey] == 1)return *pHashKey;pHashKey++;}return ‘\0‘;}int main(void){char pString[] = "abaccdeff";char result = FirstNotRepeatingChar (pString); printf("result = %c\n", result); return 0;}
Output:
result = b