题目描述

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

题目分析

这是一个典型的查找个数多于1的字符问题,而且是在插入过程中进行计算,string类型中提供了find()和erase操作,可以很方便的对字符进行查找和删除,详细内容请见源代码

源代码

class Solution
{
public://Insert one char from stringstreamstring str = "";void Insert(char ch){if(str.empty()) str = str + ch;else{if(str.find(ch)!=-1){str.erase(str.find(ch),1);}else str = str + ch;}}//return the first appearence once char in current stringstreamchar FirstAppearingOnce(){if(str.empty()) return '#';else return str[0];}
};

请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符go时,第一个只出现一次的字符是g。当从该字符流中读出前六个字符“google时,,,(C++实现)相关推荐

  1. 编写一个能够排序的函数模板。_LeetCode刷题——9.给出n对括号,请编写一个函数来生成所有的由n对括号组成的合法组合...

    难度(medium) 题目描述: 给出n对括号,请编写一个函数来生成所有的由n对括号组成的合法组合.例如n=3,解集为:  "((()))", "(()())" ...

  2. C语言编程>第七周 ⑧ 请编一个函数void fun(int a[M][N],int b[N]),c指向一个M行N列的二维数组,求出二维数组每列中最大元素,并依次放入b所指一维数组中。

    例题:请编一个函数void fun(int a[M][N],int b[N]),c指向一个M行N列的二维数组,求出二维数组每列中最大元素,并依次放入b所指一维数组中.二维数组中的数己在主函数中赋予. ...

  3. 13.请编一个函数void fun(int tt[M][N],int pp[N]),tt指向一个M行N列的二维数组,求出二维数组每列中最小元素,并依次放入pp所指一维数组中。

    13.请编一个函数void fun(int tt[M][N],int pp[N]),tt指向一个M行N列的二维数组,求出二维数组每列中最小元素,并依次放入pp所指一维数组中.二维数组中的数已在主函数中 ...

  4. 7.请编写一个函数int fun(int*s,int t,int *k),用来求出数组的最大元素在数组中的下标并存放在k所指的存储单元中。

    7.请编写一个函数int fun(int*s,int t,int *k),用来求出数组的最大元素在数组中的下标并存放在k所指的存储单元中. 例如,输入如下整数:876 675 896 101 301 ...

  5. 面试官:编写一个 SQL 查询,找出每个部门工资第二高的员工

    今天我们来看看大数据开发中row_number函数. 作为一名程序员,求职面试时时常会遇到需要编写一些基础的sql,编写sql这样做的目的主要是考验求职者的逻辑思维及编写sql基础能力.而row_nu ...

  6. 698. 划分为k个相等的子集:给定一个整数数组 nums 和一个正整数 k,找出是否有可能把这个数组分成 k 个非空子集,其总和都相等。

    题目描述 给定一个整数数组 nums 和一个正整数 k,找出是否有可能把这个数组分成 k 个非空子集,其总和都相等. 示例 1: 输入: nums = [4, 3, 2, 3, 5, 2, 1], k ...

  7. Java之《剑指Offer》:字符串替换空格,请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happ

    1. 题目描述 请实现一个函数,将一个字符串中的每个空格替换成"%20".例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy. ① ...

  8. C语言编程>第十一周 ⑤ 请编写一个函数,用来删除字符串中的所有空格。

    例题:请编写一个函数,用来删除字符串中的所有空格. 例如,输入we l come,则输出为welcome. 请勿改动主函数main与其它函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句. ...

  9. c语言实现在数组中找一个数字显示,C语言找出数组中的特定元素的算法解析

    问题描述:一个int数组,里面数据无任何限制,要求求出所有这样的数a[i],其左边的数都小于等于它,右边的数都大于等于它.能否只用一个额外数组和少量其它空间实现. 思路:如果能用两个辅助数组,那么相对 ...

  10. 给定一个非负整数 N,找出小于或等于 N 的最大的整数,同时这个整数需要满足其各个位数上的数字是单调递增。

    //给定一个非负整数 N,找出小于或等于 N 的最大的整数,同时这个整数需要满足其各个位数上的数字是单调递增. //(当且仅当每个相邻位数上的数字 x 和 y 满足 x <= y 时,我们称这个 ...

最新文章

  1. 播客#47:劳伦斯·布拉德福德
  2. execute、executeQuery和executeUpdate之间的区别
  3. UVA 473——Raucous Rockers
  4. 【LeetCode笔记】301. 删除无效的括号(Java、DFS、字符串)
  5. jquery 开始与结束方法 loading窗
  6. 《编码的奥秘》记录(二)
  7. 怎么查找键盘注册表键值_C程序查找通过键盘输入的数字列表的平均值
  8. 美团成都一面面经及详细答案
  9. opencv 学习(3)几何图形的简单识别
  10. Altium Designer20 PCB规则设置
  11. PaaS平台设计思想
  12. 手机如何远程控制挂机宝? 影云挂机宝
  13. 融云钜惠来袭,新客尝鲜首月 2.7 折起,超值套餐 6 折起
  14. ffmpeg 按帧数截取视频
  15. FPGA开发基本流程
  16. Java的三大体系架构
  17. C++课程基础语法小结
  18. 一年内英语四六级一次性通过,我是怎么做到的?英语听力阅读技巧干货分享!(2021年8月份最新)
  19. Delphi代码格式化工具(DelForExp) v2.6.0
  20. 关于导出编辑后的PDF文件中目录带框的情况及解决

热门文章

  1. HTML5 canvas图形库 RGraph【转】
  2. asp.net 配置 X-Frame-Options
  3. Centos挂载windows共享文件夹
  4. python 获取json后 dict列表形式输出结果
  5. 最全的Discuz! x2去除forum.php尾巴的方法
  6. 解决Linkedin sdk无法保持oauth_token
  7. if else if与if if语句的区别
  8. struts2之数据处理的三种方式
  9. 每天一道剑指offer-二进制中1的个数
  10. linux测试进程内存,怎么测试进程运行时的内存用量