剑指offer——面试题55:字符流中第一个不重复的字符
2018-03-30 11:36
225 查看
剑指offer——面试题55:字符流中第一个不重复的字符
对此题最大的感想是:1)区分deque(双端队列)和queue(队列);
2)要熟悉queue的基本函数
此题答案如下:
class Solution { public: //Insert one char from stringstream void Insert(char ch) { str_temp.push(ch);//队列queue用push把元素压入队列中 Hash_temp[ch]++; } //return the first appearence once char in current stringstream char FirstAppearingOnce() { while(!str_temp.empty() && Hash_temp[str_temp.front()] >=2) {//队列queue的front()返回首元素 str_temp.pop(); //但不删除,pop()删除首元素,但不返回 } //与front()函数类似,back()函数返回尾元素,亦不删除 if(str_temp.empty()) return '#'; else return str_temp.front(); } private: int Hash_temp[256] = {0};//包含所有字符的简易哈希表 queue<char> str_temp; };
相关文章推荐
- 剑指offer 面试题55 字符流中第一个不重复的字符(push_back+resize出问题)
- 剑指offer--面试题55:字符流中第一个不重复的字符
- (剑指Offer)面试题55:字符流中第一个不重复的字符
- 剑指offer——面试题55:字符流中第一个不重复的字符
- 剑指offer-面试题55:字符流中第一个不重复的字符
- 《剑指Offer》面试题55:字符流中第一个不重复的字符
- 《剑指Offer》学习笔记--面试题55:字符流中第一个不重复的字符
- 面试题55:字符流中第一个不重复的字符
- 面试题55:字符流中第一个不重复的数字
- 面试题55 字符流中第一个不重复的字符
- 剑指offer面试题55 字符流中第一个不重复的字符(Java实现)
- 《剑指offer》:[55]字符流中第一个不重复的字符
- 剑指offer-面试题55-字符流中第一个不重复的字符
- 【剑指Offer】面试题55:字符流中第一个不重复的字符
- 剑指offer 面试题55 字符流中第一个不重复的字符
- 面试题55:字符流中第一个不重复的字符
- 【剑指Offer学习】【面试题55:字符流中第一个不重复的字符】
- 剑指offer_面试题55_字符流中第一个不重复的字符 *
- 字符串中第一个只出现一次的字符——剑指offer面试题40
- 剑指offer系列之53:字符流中第一个不重复的字符