本文为剑指 offer 系列第五十一篇。
主要知识点为字符串中每个字符的出现次数,同样的题目其实已经出现很多次了,相信大家都已经可以做到手到擒来了。
题目描述
请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g"。当从该字符流中读出前六个字符“google"时,第一个只出现一次的字符是"l"。
输出描述:
如果当前字符流没有存在出现一次的字符,返回#字符。
解题思路
对于插入的每个字符都进行一次保存,然后对于每个字符出现的次数都可以通过map来保存出现次数,最后遍历一遍map找到第一个出现次数为1的字符就可以了。
解题代码
1 | class Solution |
时间复杂度为O(n),空间复杂度为O(n)
以上,本题结束!