第乙個只出現一次的字元

2021-09-01 23:50:55 字數 932 閱讀 4941

在乙個字串(0<=字串長度<=10000,全部由字母組成)中找到第乙個只出現一次的字元,並返回它的位置, 如果沒有則返回 -1(需要區分大小寫)

時間限制:1秒 空間限制:32768k 熱度指數:198943

解法1這道題類似於:

class

solution

;int n=str.

size()

; queue<

char

> s;

for(

int i=

0;i) n=s.

size()

;char a;

while

(!s.

empty()

) s.

pop();

}if(s.empty()

)return-1

; n=str.

size()

;int i=0;

for(

;i)return i;}}

;

解法2

string已有,並不會像上面參考題一樣,輸入無儲存。

可以用兩次迴圈,乙個陣列。

第一次迴圈求出每種字元出現的次數,第二次求第乙個只出現一次的字元的位置。

class

solution

;int i=0;

int n=str.

size()

;//第一次迴圈求出每種字元出現的次數

for(

;i) i=0;

//第二次求第乙個只出現一次的字元的位置

for(

;i)//若迴圈結束,則說明沒有找到只出現一次的字元,返回-1.

return-1

;}};

第乙個只出現一次的字元

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

第乙個只出現一次的字元

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

第乙個只出現一次的字元

1.問題描述 在字串中找出第乙個只出現一次的字元。例如輸入abaccdeff,則輸出 b。來自 劍指offer 2.分析 我們可以用乙個容器來存放 對應的字元和出現次數 雜湊表 這裡僅僅用陣列來簡單的模擬了一下 第一次掃瞄時將出現的次數存放在表中,第二次掃瞄時掃瞄到次數為1的字元並返回該字元即可。表...