字符流中第一个不重复的字符

《剑指offer》刷题笔记。如有更好解法,欢迎留言。

关键字:字符串

题目描述:

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

思路:

  • 使用 map 结构实现字典
  • 完整代码
function Init()
{
    map = new Map();
}
function Insert(ch)
{
    if(!map.has(ch)){
        map.set(ch,1);
    }else{
        map.set(ch,map.get(ch)+1);
    }
}
function FirstAppearingOnce()
{
    for(let [key,val] of map){
        if(val === 1){
            return key;
        }
    }
    return '#'
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次...
    Lucia_zll阅读 1,499评论 0 0
  • 本文首发于我的个人博客:尾尾部落 题目描述 请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流...
    繁著阅读 4,042评论 0 2
  • 题目描述 请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符"go"时,第一...
    是我真的是我阅读 1,220评论 0 0
  • 题目描述 请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符"go"时,第一...
    Max_7阅读 3,975评论 0 0
  • 这句话的感受自从我结婚后,从原来的家庭走出来,去融入一个新的家庭,就开始有了懵懵懂懂的感觉。 家是有磁...
    67fbaec5208f阅读 1,891评论 0 0

友情链接更多精彩内容