劍指 面試題50 第乙個只出現一次的字元

2021-10-23 06:06:26 字數 1085 閱讀 1444

題目

在字串 s 中找出第乙個只出現一次的字元。如果沒有,返回乙個單空格。

0

<=s

.len

gt

h<

=50000

0 <= s.length <= 50000

0<=s

.len

gth<=5

0000

思路 雜湊表

c++:建立乙個雜湊表存放每個字元出現的次數(unordered_map)

python

(1)用字典代表雜湊表

(2) 遍歷字串 s 中的每個字元 c:

(3)執行一次遍歷即可找到第乙個出現1此的字元

第(2)步做完後,s中所有出現的字元都在字典中,出現1次的value=true,多次的value=false

c++

class

solution

for(

int i=

0; isize()

;++i)

if(hash[s[i]]==

1)return s[i]

;return

' ';}}

;

python

class

solution

:def

firstuniqchar

(self, s:

str)

->

str:

hashmap =

res =

for c in s:

hashmap[c]

=not c in hashmap

for c in s:

if hashmap[c]

:return c

return

' '

劍指offer 面試題35 第乙個只出現一次的字元

題目 在字串中找出第乙個只出現一次的字元。如輸入 abaccdeff 則輸出 b 思路 這道題目不難,遍歷一遍統計每個字元出現的次數就完了。作者用的是雜湊表,因為只需要統計次數,而且字元只有256中,可以用乙個大小為256的陣列實現。自己用stl裡的multimap容器也實現了,道理完全一樣。雜湊表...

面試題50 第乙個只出現一次的字元

在乙個字串 0 字串長度 10000,全部由字母組成 中找到第乙個只出現一次的字元,並返回它的位置,如果沒有則返回 1 需要區分大小寫 解題思路 字元 key 字元出現的次數 value 雜湊表 1.第一遍遍歷陣列,找到每個字元對應的次數。輔助陣列下標key為陣列字元的ascii碼 輔助陣列的值va...

面試題50 第乙個只出現一次的字元

php 在字串 s 中找出第乙個只出現一次的字元。如果沒有,返回乙個單空格。示例 s abaccdeff 返回 b s 返回 class solution return 如果下標等於擷取他的長度一致,就說明他是第乙個首次出現的 strrpos 查詢 php 在字串中最後一次出現的位置 functio...