【剑指offer】题55:字符流中第一个不重复的字符
来源:互联网 发布:网络银行联盟 编辑:程序博客网 时间:2024/05/18 16:14
使用哈希表记录次数,使用链表记录顺序
哈希表保存指向链表的指针,用于删除重复出现的字符
数组中第一个只出现一次的字符问题也可以使用类似的方法,这样只需遍历一遍字符串即可得到结果
class Solution{public: Solution(){ vec.resize(256); }; //Insert one char from stringstream void Insert(char ch) { if (vec[ch].first == 0) { vec[ch].first = 1; lis.push_back(ch); vec[ch].second = (--lis.end());//前置-- } else { if (vec[ch].first == 1) { vec[ch].first++; lis.erase(vec[ch].second); } } } //return the first appearence once char in current stringstream char FirstAppearingOnce() { if (!lis.empty()) { return *lis.begin(); } else return '#'; }private: vector<pair<int,list<char>::iterator>> vec; list<char> lis;};
阅读全文
0 0
- 【剑指offer】题55:字符流中第一个不重复的字符
- 《剑指Offer》学习笔记--面试题55:字符流中第一个不重复的字符
- 剑指offer 55-字符流中第一个不重复的字符
- 【剑指Offer学习】【面试题55:字符流中第一个不重复的字符】
- 剑指offer-面试题55:字符流中第一个不重复的字符
- 《剑指offer》:[55]字符流中第一个不重复的字符
- 《剑指Offer》面试题55:字符流中第一个不重复的字符
- 剑指offer--面试题55:字符流中第一个不重复的字符
- 剑指Offer面试题55:字符流中第一个不重复的字符 Java实现
- 剑指offer-面试题55-字符流中第一个不重复的字符
- 剑指offer 面试题55 字符流中第一个不重复的字符
- 【剑指Offer】面试题55:字符流中第一个不重复的字符
- 剑指offer——面试题55:字符流中第一个不重复的字符
- 《剑指offer》刷题笔记(字符串):字符流中第一个不重复的字符
- 剑指offer--字符流中第一个不重复的字符
- 《剑指offer》字符流中第一个不重复的字符
- 剑指offer—字符流中第一个不重复的字符
- 剑指Offer--字符流中第一个不重复的字符
- Ubuntu Gnome 17.04 配置Apache+CGI
- 八皇后问题
- thinkphp 同域名,同端口,同ip下session冲突问题
- 设计模式-原型模式
- 敌兵布阵 HDU
- 【剑指offer】题55:字符流中第一个不重复的字符
- js获取当前页面的url网址信息
- 生物信息学
- 8 Hibernate:关联映射(Associations)
- JSP
- 删除微软自带中文输入法--的方法
- Java final类
- 开关电源
- mvc表单提交总结