54 劍指offer 字元流中第乙個不重複的字元

2022-08-24 01:18:11 字數 715 閱讀 8160

題目描述

請實現乙個函式用來找出字元流中第乙個只出現一次的字元。例如,當從字元流中只讀出前兩個字元"go"時,第乙個只出現一次的字元是"g"。當從該字元流中讀出前六個字元「google"時,第乙個只出現一次的字元是"l"。 

輸出描述:

如果當前字元流沒有存在出現一次的字元,返回#字元。

解題思路:採用雜湊表來實現。用字元的ascii嘛作為雜湊表的鍵值,而把字元對應的位置作為雜湊表的值。遍歷所有字母,如果該字母出現1次,且該字元對應的位置

其中-1表示未出現過,-2表示多次出現,0表示只出現一次

1

class

solution29

//insert one char from stringstream

10void insert(char

ch)11

18//

19char

2030}31

if(ch == '

\0')//

如果當前字元流沒有存在出現一次的字元,返回#字元。

32return'#

';33return

ch;34}35

private:36

int occurence[256];//

其中陣列下標i對應與ascii碼

37int index;//

儲存第乙個只出現一次的字元的索引

3839 };

劍指offer(54)字元流中第乙個不重複的文字

問題描述 請實現乙個函式用來找出字元流中第乙個只出現一次的字元。例如,當從字元流中只讀出前兩個字元 go 時,第乙個只出現一次的字元是 g 當從該字元流中讀出前六個字元 google 時,第乙個只出現一次的字元是 l 如果當前字元流沒有存在出現一次的字元,返回 字元。思路 借助長度為128的陣列 a...

劍指offer(54)字元流中第乙個不重複的數字

請實現乙個函式用來找出字元流中第乙個只出現一次的字元。例如,當從字元流中只讀出前兩個字元 go 時,第乙個只出現一次的字元是 g 當從該字元流中讀出前六個字元 google 時,第乙個只出現一次的字元是 l 輸出描述 如果當前字元流沒有存在出現一次的字元,返回 字元。我們之前有講過,一般遇到次數問題...

劍指Offer 54 字元流中第乙個不重複的字元

請實現乙個函式用來找出字元流中第乙個只出現一次的字元。例如,當從字元流中只讀出前兩個字元 go 時,第乙個只出現一次的字元是 g 當從該字元流中讀出前六個字元 google 時,第乙個只出現一次的字元是 l 輸出描述 如果當前字元流沒有存在出現一次的字元,返回 字元。每次插入乙個字元,就判斷該字元是...