《剑指offer》-字符流中第一个不重复的字符
来源:互联网 发布:重庆seo入门到精通 编辑:程序博客网 时间:2024/06/07 10:48
题目描述
请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g"。当从该字符流中读出前六个字符“google"时,第一个只出现一次的字符是"l"。
输出描述:
如果当前字符流没有存在出现一次的字符,返回#字符。
解法:
1.利用map容器存储字符和对应的出现的次数,map<char,int>
2.默认初始化map中的int值为0,所以出现一次就加1
3.利用vector<int>进行存储字符串,为了利用迭代器,方便遍历整个字符串而已
class Solution{public: //Insert one char from stringstream void Insert(char ch) { temp[ch]++; vec.push_back(ch); } //return the first appearence once char in current stringstream char FirstAppearingOnce() { vector<int>::iterator it; for(it = vec.begin(); it < vec.end(); ++it) { if(temp[*it] == 1) return *it; } return '#'; } map<char, int> temp; vector<int> vec;};
0 0
- 剑指offer--字符流中第一个不重复的字符
- 《剑指Offer》学习笔记--面试题55:字符流中第一个不重复的字符
- 剑指offer 55-字符流中第一个不重复的字符
- 【剑指Offer学习】【面试题55:字符流中第一个不重复的字符】
- 《剑指offer》字符流中第一个不重复的字符
- 剑指offer—字符流中第一个不重复的字符
- 剑指Offer--字符流中第一个不重复的字符
- 字符流中第一个不重复的字符(哈希表+vecor+剑指offer)
- 《剑指offer》——字符流中第一个不重复的字符
- 剑指offer系列之五十三:字符流中第一个不重复的字符
- 《剑指offer》——字符流中第一个不重复的字符
- 剑指offer系列之53:字符流中第一个不重复的字符
- 剑指offer-面试题55:字符流中第一个不重复的字符
- 剑指offer(57):字符流中第一个不重复的字符
- 剑指offer:字符流中第一个不重复的字符
- [剑指offer]字符流中第一个不重复的字符
- 剑指Offer——字符流中第一个不重复的字符
- 剑指Offer--055-字符流中第一个不重复的字符
- Linux 驱动 之 模块化编程
- NoSQL系列:选择合适的数据库
- Machine Learning(Stanford)| 斯坦福大学机器学习笔记--第一周(4.梯度下降)
- <hadoop学习历程>--笔记心得2-hadoop家族简介
- 腾讯优测优分享 | 谈谈移动端屏幕适配的几种方法
- 《剑指offer》-字符流中第一个不重复的字符
- SAE J1939介绍
- BadgeView-仿微信朋友圈数字提醒功能
- 客户端和服务器之间通信讲解
- JavaScript Math 对象
- listview的优化
- selenium(项目中使用总结)
- adb无法启动
- 碎片整理