请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符go时,第一个只出现一次的字符是g。当从该字符流中读出前六个字符“google时,,,(C++实现)
题目描述
请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符"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++实现)相关推荐
- 编写一个能够排序的函数模板。_LeetCode刷题——9.给出n对括号,请编写一个函数来生成所有的由n对括号组成的合法组合...
难度(medium) 题目描述: 给出n对括号,请编写一个函数来生成所有的由n对括号组成的合法组合.例如n=3,解集为: "((()))", "(()())" ...
- 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所指一维数组中.二维数组中的数己在主函数中赋予. ...
- 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所指一维数组中.二维数组中的数已在主函数中 ...
- 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 ...
- 面试官:编写一个 SQL 查询,找出每个部门工资第二高的员工
今天我们来看看大数据开发中row_number函数. 作为一名程序员,求职面试时时常会遇到需要编写一些基础的sql,编写sql这样做的目的主要是考验求职者的逻辑思维及编写sql基础能力.而row_nu ...
- 698. 划分为k个相等的子集:给定一个整数数组 nums 和一个正整数 k,找出是否有可能把这个数组分成 k 个非空子集,其总和都相等。
题目描述 给定一个整数数组 nums 和一个正整数 k,找出是否有可能把这个数组分成 k 个非空子集,其总和都相等. 示例 1: 输入: nums = [4, 3, 2, 3, 5, 2, 1], k ...
- Java之《剑指Offer》:字符串替换空格,请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happ
1. 题目描述 请实现一个函数,将一个字符串中的每个空格替换成"%20".例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy. ① ...
- C语言编程>第十一周 ⑤ 请编写一个函数,用来删除字符串中的所有空格。
例题:请编写一个函数,用来删除字符串中的所有空格. 例如,输入we l come,则输出为welcome. 请勿改动主函数main与其它函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句. ...
- c语言实现在数组中找一个数字显示,C语言找出数组中的特定元素的算法解析
问题描述:一个int数组,里面数据无任何限制,要求求出所有这样的数a[i],其左边的数都小于等于它,右边的数都大于等于它.能否只用一个额外数组和少量其它空间实现. 思路:如果能用两个辅助数组,那么相对 ...
- 给定一个非负整数 N,找出小于或等于 N 的最大的整数,同时这个整数需要满足其各个位数上的数字是单调递增。
//给定一个非负整数 N,找出小于或等于 N 的最大的整数,同时这个整数需要满足其各个位数上的数字是单调递增. //(当且仅当每个相邻位数上的数字 x 和 y 满足 x <= y 时,我们称这个 ...
最新文章
- 播客#47:劳伦斯·布拉德福德
- execute、executeQuery和executeUpdate之间的区别
- UVA 473——Raucous Rockers
- 【LeetCode笔记】301. 删除无效的括号(Java、DFS、字符串)
- jquery 开始与结束方法 loading窗
- 《编码的奥秘》记录(二)
- 怎么查找键盘注册表键值_C程序查找通过键盘输入的数字列表的平均值
- 美团成都一面面经及详细答案
- opencv 学习(3)几何图形的简单识别
- Altium Designer20 PCB规则设置
- PaaS平台设计思想
- 手机如何远程控制挂机宝? 影云挂机宝
- 融云钜惠来袭,新客尝鲜首月 2.7 折起,超值套餐 6 折起
- ffmpeg 按帧数截取视频
- FPGA开发基本流程
- Java的三大体系架构
- C++课程基础语法小结
- 一年内英语四六级一次性通过,我是怎么做到的?英语听力阅读技巧干货分享!(2021年8月份最新)
- Delphi代码格式化工具(DelForExp) v2.6.0
- 关于导出编辑后的PDF文件中目录带框的情况及解决