请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符 “go” 时,第一个只出现一次的字符是 “g”。当从该字符流中读出前六个字符“google" 时,第一个只出现一次的字符是 “l”。
解题思路
import collections
class Solution:
# 返回对应char
def __init__(self):
self.dict = collections.defaultdict(int)
self.data = []
def FirstAppearingOnce(self):
# write code here
return '#' if len(self.data)==0 else self.data[0]
def Insert(self, char):
# write code here
self.dict[char]+=1
self.data.append(char)
while len(self.data)!=0 and self.dict[self.data[0]]>1:
self.data.pop(0)