第乙個只出現一次的字元

2021-06-28 13:00:52 字數 596 閱讀 8172

1.問題描述

在字串中找出第乙個只出現一次的字元。例如輸入abaccdeff,則輸出 b。(來自《劍指offer》)

2.分析

我們可以用乙個容器來存放 對應的字元和出現次數(雜湊表 這裡僅僅用陣列來簡單的模擬了一下),第一次掃瞄時將出現的次數存放在表中,第二次掃瞄時掃瞄到次數為1的字元並返回該字元即可。表的大小為256,因為字元是8個bit的型別,總共有256個字元。

3.**

char firstnotrepatingchar(char* str)

int tablesize = 256;

int hashtable [tablesize];

char *key = str;

for (int i = 0; i < tablesize; i++)

while (*key != '\0')

key = str;

while (*key != '\0')

key++;

}return '\0';

}

第乙個只出現一次的字元

題目 在乙個字串中找到第乙個只出現一次的字元。如輸入 abaccdeff,則輸 出b。分析 這道題是 2006年google的一道筆試題。看到這道題時,最直觀的想法是從頭開始掃瞄這個字串中的每個字元。當訪問 到某字元時拿這個字元和後面的每個字元相比較,如果在後面沒有發現重複的字 符,則該字元就是只出...

第乙個只出現一次的字元

題目 在乙個字串中找到第乙個只出現一次的字元,並輸出它在字串中的位置。如輸入 abaccdeff,則輸出 b 1。定義乙個256長度的陣列,乙個用來記錄字元出現的次數。然後在遍歷字元陣列,如果該字元出現了一次,輸出並結束,否則繼續。include using namespace std 在乙個字串中...

第乙個只出現一次的字元

題目 在字串中找出第乙個只出現一次的字元。如輸入 abaccdeff 則輸出 b 看到這個題目,最直觀的想法就是就是遍曆法,也就是從頭開始取字串中的乙個字元,將其與其後的所有字元比較,如果有相同的字元,那麼就證明它不是只出現一次的字元。當第一次出現遍歷完其後字元並且沒有重複時,表明這個字元就是 第乙...