劍指offer 字元流中第一個不重複的字元 python
阿新 • • 發佈:2018-12-26
題目描述
請實現一個函式用來找出字元流中第一個只出現一次的字元。例如,當從字元流中只讀出前兩個字元"go"時,第一個只出現一次的字元是"g"。當從該字元流中讀出前六個字元“google"時,第一個只出現一次的字元是"l"。
樣例
輸入 "google"
輸出 "ggg#ll" (注意這裡是輸入流,字元是一個一個輸入的)
閒話:
這題一開始給的兩個方法,我一看還有點懵逼,沒有搞懂意思.
後面想了下,後臺可能是一次Insert一次FirstAppearingOnce輸出這樣的.
想法一:
用filter函式加lambda函式過濾後,返回即可
class Solution:
# 返回對應char
def __init__(self):
self.s = ''
def FirstAppearingOnce(self):
res = list(filter(lambda x: self.s.count(x) == 1, self.s))
return res[0] if res else '#'
def Insert(self, char):
self.s += char
最後
刷過的LeetCode或劍指offer原始碼放在Github
有任何問題可以在下面評論或者通過私信或聯絡方式找我。
聯絡方式
QQ:791034063
Wechat:liuyuhang791034063
CSDN:https://blog.csdn.net/Sun_White_Boy
Github:https://github.com/liuyuhang791034063