題目描述
請實現乙個函式用來找出字元流中第乙個只出現一次的字元。例如,當從字元流中只讀出前兩個字元"go"時,第乙個只出現一次的字元是"g"。當從該字元流中讀出前六個字元「google"時,第乙個只出現一次的字元是"l"。
輸出描述:
如果當前字元流沒有存在出現一次的字元,返回#字元。
解題思路:採用雜湊表來實現。用字元的ascii嘛作為雜湊表的鍵值,而把字元對應的位置作為雜湊表的值。遍歷所有字母,如果該字母出現1次,且該字元對應的位置
其中-1表示未出現過,-2表示多次出現,0表示只出現一次
1class
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 輸出描述 如果當前字元流沒有存在出現一次的字元,返回 字元。每次插入乙個字元,就判斷該字元是...