要求第乙個只出現一次的字元,那麼就跟字元出現的次數有關。我們考慮如何統計字元出現的次數,然後找出第乙個次數為1的那個字元。如果從先往後遍歷乙個乙個的比對,效率自然太低。這裡我們需要乙個資料容器來儲存字元出現次數,並且能夠通過字元找出其相對應的次數。雜湊表就是一種常用用的容器。
我們可以定義雜湊表的鍵值(key)是字元的ascii值,而值(value)是該字元出現的次數。同時我們需要掃瞄兩次字串,第一次掃瞄字串時,每掃瞄到乙個字元就在雜湊表的對應項中把次數加1。接下來第二次掃瞄的時候,沒掃瞄到乙個字元就能在雜湊表中得到該字元出現的次數。找出第乙個value為1的那個key就是我們需要找到那個字元。
// firstnotrepeatingchar.cpp : 定義控制台應用程式的入口點。
求字串中第乙個出現一次的字元
//可以定義雜湊表的鍵值(key)是字元的ascii值,而值(value)是該字元出現的次數
#include "stdafx.h"
#include //for system()
#include
#include //for strlen()
char firstnotrepeatingchar(char* pstr)
return
'\0';
}int _tmain(int argc, _tchar* argv)
(1)第乙個出現一次字元
hw 第乙個出現一次字元 cpp 定義控制台應用程式的入口點。找出字串中第乙個只出現一次的字元 詳細描述 介面說明 原型 bool findchar char pinputstring,char pchar 輸入引數 char pinputstring 字串 輸出引數 指標指向的記憶體區域保證有效 ...
第乙個只出現一次的字元
題目 在乙個字串中找到第乙個只出現一次的字元。如輸入 abaccdeff,則輸 出b。分析 這道題是 2006年google的一道筆試題。看到這道題時,最直觀的想法是從頭開始掃瞄這個字串中的每個字元。當訪問 到某字元時拿這個字元和後面的每個字元相比較,如果在後面沒有發現重複的字 符,則該字元就是只出...
第乙個只出現一次的字元
題目 在乙個字串中找到第乙個只出現一次的字元,並輸出它在字串中的位置。如輸入 abaccdeff,則輸出 b 1。定義乙個256長度的陣列,乙個用來記錄字元出現的次數。然後在遍歷字元陣列,如果該字元出現了一次,輸出並結束,否則繼續。include using namespace std 在乙個字串中...