題目:在字符串中找出第一個只出現一次的字符,如輸入“abaccdeff”則輸出‘b’
思路:采用一個數組記錄出現的次數然後再遍歷該數組:
// Find.cpp : 定義控制台應用程序的入口點。 // #include "stdafx.h" #includeusing namespace std; /* 字符char是一個長度為8的數據類型,因此總共有256種可能,於是我們創建一個長度為256的數組 每個字母根據其ASCII碼值作為數組的下標對應數組的一個數字,而數組中存儲的是每個字符出現的次數 */ char FindFirstChar(char* pString) { if(pString == NULL) return '\0'; const int N = 256; int b[N]; for(int i = 0; i < N; ++i) { b[i] = 0; } char* p = pString; while (*p != '\0') { b[*(p++)]++; } p = pString; while (*p != '\0') { if (b[*p] == 1) { return *p; } ++p; } return '\0'; } int _tmain(int argc, _TCHAR* argv[]) { char* pString = "abcddeeff"; char c = FindFirstChar(pString); cout<