题目描述

请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g"。当从该字符流中读出前六个字符“google"时,第一个只出现一次的字符是"l"。

输出描述:

如果当前字符流没有存在出现一次的字符,返回#字符。

题目分析

我们之前有讲过,一般遇到次数问题,就可以想到用哈希表来统计次数。这题也是如此。

这题算比较简单,没什么说的

此外这题还可以借助indexOf和lastIndexOf来做,具体留给读者自己解决了。

代码

let map = {};
function Init() {
map = {};
}
function Insert(ch) {
if (map[ch]) {
map[ch] += 1;
} else {
map[ch] = 1;
}
}
function FirstAppearingOnce() {
for (const i in map) {
if (map[i] === 1) {
return i;
}
}
return '#';
}

最新文章

  1. 【Beta】Scrum06
  2. 关于DMA和它的仇家
  3. 更新lispbox中的ccl和slime版本
  4. 非模态对话框的PreTranslateMessage() 没有用,无法进去
  5. MapReduce 重要组件——Recordreader组件
  6. 【MySQL】MySQL事务回滚脚本
  7. javascript 详解数组
  8. 最好的10本适用于初学者阅读的javaScript和jQuery书籍
  9. C++运行字符编码于MSVC和GCC之间的区别
  10. 服务器端调用Word组件读取Word权限、未将对象引用到对象实例终极解决方案
  11. Android Studio如何设置自己主动提示代码
  12. ionic 添加新module
  13. Android简易实战教程--第三十九话《Chronometer实现倒计时》
  14. 让 Homebrew 走代理更新 + brew 管理 node 版本
  15. Go语言中的Struct
  16. 移动端调用电话、短信、唤起QQ和使用百度地图
  17. Leetcode——Two Sum(easy)
  18. js没事干应该瞧瞧的一些博客
  19. Java课程作业之动手动脑(三)
  20. Using an LPC-Link2 as an LPC4370 evaluation board

热门文章

  1. 【CF434E】Furukawa Nagisa's Tree 点分治
  2. poj3278_kuagnbin带你飞专题一
  3. ubantu中怎样安装VMware Tools
  4. SVN操作步骤
  5. odoo Q-web
  6. jquery基础学习之AJAX篇(五)
  7. pycharm import pygame 出现报错:No module named 'pygame'
  8. Navicat 远程连接 Oracle11g 数据库报错 No listener 的问题
  9. java之动态代理
  10. (转载)intellj idea 如何设置类头注释和方法注释