剣指offer全集python版-文字ストリームの最初の重複しない文字
3242 ワード
タイトルの説明:文字ストリームに最初に1回しか現れない文字を見つけるための関数を実装してください.例えば、文字ストリームから最初の2文字「go」のみが読み出される場合、最初に1回しか現れない文字は「g」である.この文字ストリームから最初の6文字「google」を読み出すと、最初に1回しか現れない文字は「l」である.
考え方:
辞書を開く.
コード:
考え方:
辞書を開く.
コード:
# -*- coding:utf-8 -*-
class Solution:
# char
def __init__(self):
self.s=''
self.dict1={}
def FirstAppearingOnce(self):
# write code here
for i in self.s:
if self.dict1[i]==1:
return i
return '#'
def Insert(self, char):
# write code here
self.s=self.s+char
if char in self.dict1:
self.dict1[char]=self.dict1[char]+1
else:
self.dict1[char]=1