题目描述
请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g"。当从该字符流中读出前六个字符“google"时,第一个只出现一次的字符是"l"。
解题思路:
容易想到用队列来存储返回字符,但是一旦字符出现2次,我们总不能又把队列重新扔出来再扔回去(其实可以,复杂度同样是常数),这里我们可以用一个小技巧,每次检查队列的首个元素时,我们可以检查它的重复出现次数,若出现多于1次,我们就pop队列。
qq639708f19d17e 博主文章分类:nowcoder ©著作权
请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g"。当从该字符流中读出前六个字符“google"时,第一个只出现一次的字符是"l"。
解题思路:
容易想到用队列来存储返回字符,但是一旦字符出现2次,我们总不能又把队列重新扔出来再扔回去(其实可以,复杂度同样是常数),这里我们可以用一个小技巧,每次检查队列的首个元素时,我们可以检查它的重复出现次数,若出现多于1次,我们就pop队列。
字符流中第一个不重复的字符(五十四)题目描述: 请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个
目录1题目描述:2.解题思路3.编程实现(Java):1题目
举报文章
请选择举报类型
补充说明
0/200
上传截图
格式支持JPEG/PNG/JPG,图片不超过1.9M