剑指offer——面试题55:字符流中第一个不重复的字符

Solution1:

当年第一次做这个题的做法
对此题最大的感想是:
1)区分deque(双端队列)和queue(队列);
2)要熟悉queue的基本函数
此题答案如下:

class Solution
{
public://Insert one char from stringstreamvoid Insert(char ch) {str_temp.push(ch);//队列queue用push把元素压入队列中Hash_temp[ch]++;}//return the first appearence once char in current stringstreamchar FirstAppearingOnce() {while(!str_temp.empty() && Hash_temp[str_temp.front()] >=2) {//队列queue的front()返回首元素str_temp.pop();                                      //但不删除,pop()删除首元素,但不返回}                                          //与front()函数类似,back()函数返回尾元素,亦不删除if(str_temp.empty())return '#';elsereturn str_temp.front();}
private:int Hash_temp[256] = {0};//包含所有字符的简易哈希表queue<char> str_temp;
};

Solution2:

20180911日重做,代码简练了不少

class Solution {public:int Hash[256] = {0};string str = "";//Insert one char from stringstreamvoid Insert(char ch) {Hash[(int)ch]++;str += ch;}//return the first appearence once char in current stringstreamchar FirstAppearingOnce() {for (int i = 0; i < str.size(); i++) {if (Hash[str[i]] == 1)return str[i];}return '#';}
};

剑指offer——面试题55:字符流中第一个不重复的字符相关推荐

  1. 《剑指offer》-- 第一个只出现一次的字符、数组中只出现一次的数字、字符流中第一个不重复的字符、数组中重复的数字

    一.第一个只出现一次的字符: 1.题目: 在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写 ...

  2. 【剑指offer-54】20190907/03 字符流中第一个不重复的字符

    [剑指offer-54]字符流中第一个不重复的字符 考点:字符串 时间限制:1秒 空间限制:32768K 请实现一个函数用来找出字符流中第一个只出现一次的字符.例如,当从字符流中只读出前两个字符&qu ...

  3. (剑指Offer)面试题55:字符流中第一个不重复的字符

    题目: 请实现一个函数用来找出字符流中第一个只出现一次的字符.例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g".当从该字符流中读出前 ...

  4. java统计一个字符串中每个字符出现的次数_剑指offer算法题054:字符流中第一个不重复的字符...

    推荐阅读:宇宙条的工作总结:一年前还在面试找工作,一年后在面试找工作的学弟学妹们:第一次当面试官的经历分享小编在求职找找工作期间剑指offer上的算法题刷了很多遍,并且每道题小编当时都总结了一种最适合 ...

  5. 剑指offer——python【第54题】字符流中第一个不重复的字符

    题目描述 请实现一个函数用来找出字符流中第一个只出现一次的字符.例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g".当从该字符流中读出 ...

  6. 剑指offer:字符流中第一个不重复的字符

    题目描述 请实现一个函数用来找出字符流中第一个只出现一次的字符.例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g".当从该字符流中读出 ...

  7. [剑指offer] 字符流中第一个不重复的字符

    本文首发于我的个人博客:尾尾部落 题目描述 请实现一个函数用来找出字符流中第一个只出现一次的字符.例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是" ...

  8. 《剑指offer》字符流中第一个不重复的字符

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

  9. 剑指offer之字符流中第一个不重复的字符

    题目描述 请实现一个函数用来找出字符流中第一个只出现一次的字符.例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g".当从该字符流中读出 ...

最新文章

  1. mysql fpmmm_zabbix配fpmmm(mpm)数据传送不了问题解决
  2. 关于python import的sys.path路径问题
  3. Python-Learn
  4. js 实现两个小数的相乘、相除功能
  5. NI Vision for LabVIEW 基础(一):NI Vision 简介
  6. android studio访问webservice如何传递类对象报错_小白学习web service,这是最最最基础的了,只用JDK还不会吗?...
  7. 如何在Windows的PHPstudy中使用redis数据库
  8. codeforces332B - Maximum Absurdity 线段数 or dp
  9. 如何把word文档转换成jpg图片
  10. java爬取前程无忧(51job)
  11. 深信服负载均衡开发实习面经
  12. 两台局域网电脑大数据传输详细教程
  13. 如何设置双路由器,图文详解
  14. Xshell,Xftp的官方网站
  15. python中repeat_Python中的Repeat类方法
  16. Linux系统之部署Rsyslog 日志服务器
  17. 「 每日一练,快乐水题 」728. 自除数
  18. 第七篇 FastAI模型训练
  19. 设置固定ip,还有一个自动分配ip
  20. 学生动漫网页设计模板下载 火影忍者大学生HTML网页制作作品 简单漫画网页设计成品 dreamweaver学生网站模板

热门文章

  1. Community Server Resources
  2. vc对图像进行平移,转置等几何变换
  3. linux不同内核驱动移植问题,基于tiny4412的Linux内核移植 -- MMA7660驱动移植(九-2)...
  4. kendotabstrip 动态加tab_加你的好友这么多,为什么偏偏记不住我这名微商?
  5. linux的dhcp的安装,linux下DHCP的安装配置
  6. matlab中svm testacc参数,使用Matlab进行交叉验证的多类SVM的完整示例
  7. c语言有n个人围成一圈用指针,c语言编写n个人围成一圈,按1、2、3报数,报到3的人退出,求最后留在圈中的人是最初n个人中的第几个(用指针实现)...
  8. nginx url 重写_Nginx重写URL规则示例
  9. Android MaterialButtonToggleGroup
  10. json 例子_json-简单的例子