新西兰服务器

剑指offer:字符流中第一个不重复的字符


剑指offer:字符流中第一个不重复的字符

发布时间:2020-04-13 22:39:51 来源:网络 阅读:293 作者:Jayce_SYSU 栏目:编程语言

题目描述
请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g"。当从该字符流中读出前六个字符“google"时,第一个只出现一次的字符是"l"。
输出描述:
如果当前字符流没有存在出现一次的字符,返回#字符。

from collections import defaultdict  class Solution:     """     虽然是要从字符流中获取首个第一次出现的字符,但是本质上和在字符串中做同样的事没有什么区别,     唯一的区别就在于要记录字符流的输入顺序。     """     def __init__(self):         self.char_count = defaultdict(int)         self.sequence = ''      def FirstAppearingOnce(self):         # 遍历字符流的输入,然后找出第一个只出现一次的字符         for c in self.sequence:             if self.char_count[c] == 1:                 return c         return '#'      def Insert(self, char):         for c in char:             self.sequence += c             self.char_count[c] += 1 

[微信提示:高防服务器能助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。

[图文来源于网络,不代表本站立场,如有侵权,请联系高防服务器网删除]
[