剑指offer——54.字符流中第一个不重复的字符
2017-09-21 11:09
267 查看
题目描述
请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符”go”时,第一个只出现一次的字符是”g”。当从该字符流中读出前六个字符“google”时,第一个只出现一次的字符是”l”。输出描述:
如果当前字符流没有存在出现一次的字符,返回#字符。代码
思路:设置一个数组存放初次出现的元素。如果这个元素没有过,就放进数组;如果这个元素有过了,就把他从数组删除。输出数组的第一个元素。var map = {}; //Init module if you need function Init() { // write code here map = {}; } //Insert one char from stringstream function Insert(ch) { // write code here if (!map[ch]) { map[ch] = 1; } else { map[ch] ++; } } //return the first appearence once char in current stringstream function FirstAppearingOnce() { for (var ch in map) { if (map.hasOwnProperty(ch)) { if (map[ch] === 1) { return ch; } } } return '#'; }
相关文章推荐
- 《剑指offer》:[55]字符流中第一个不重复的字符
- 剑指offer(51)-字符流中第一个不重复的字符
- 剑指offer 编程题(52):字符流中第一个不重复的字符
- 剑指offer:字符流中第一个不重复的字符
- 剑指offer-字符流中第一个不重复的字符
- 剑指offer----字符流中第一个不重复的字符
- 剑指offer------字符流中第一个不重复的字符(java版)
- (剑指offer)字符流第一个不重复的字符C++
- 剑指Offer——字符流中第一个不重复的字符
- 剑指offer系列之53:字符流中第一个不重复的字符
- 剑指offer-字符流中第一个不重复的字符
- 《剑指offer》刷题笔记(字符串):字符流中第一个不重复的字符
- 剑指offer(C++)——字符流中第一个不重复的字符
- 剑指offer-54.字符流中第一个不重复的字符
- 剑指offer(57):字符流中第一个不重复的字符
- 剑指offer——面试题55:字符流中第一个不重复的字符
- 剑指offer——面试题55:字符流中第一个不重复的字符
- 《剑指offer》——字符流中第一个不重复的字符
- 《剑指offer》字符流中第一个不重复的字符
- 《剑指Offer》学习笔记--面试题55:字符流中第一个不重复的字符