26.字符流中第一个不重复的字符

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

题目描述

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


输出描述:

如果当前字符流没有存在出现一次的字符,返回#字符。

解法:哈希表实现


类似上一篇文章:25.第一次只出现一次的字符https://blog.csdn.net/heda3/article/details/86766892


class Solution

{

public:

 //Insert one char from stringstream

   string s;

   char hash[256]={0};

   void Insert(char ch)

   {

       s+=ch;//拼接字符

       hash[ch]++;//在哈希表中统计个数

   }

 //return the first appearence once char in current stringstream

   char FirstAppearingOnce()

   {

     

       int size=s.size();

       for(int i=0;i<size;++i)

       {

           if(hash[s[i]]==1)//找出第一个出现的字符

               return s[i];

       }

       return '#';

   }

};

目录
相关文章
|
1月前
|
Java Go
每日一题《剑指offer》字符串篇之字符流中第一个不重复的字符
每日一题《剑指offer》字符串篇之字符流中第一个不重复的字符
49 0
每日一题《剑指offer》字符串篇之字符流中第一个不重复的字符
|
8月前
题目:下列给定程序中函数fun的功能是:从p所指字符串中找出ASCII码值最大的字符,将其放在第一个位置上,并将该字符前的原字符向后顺序移动。
题目:下列给定程序中函数fun的功能是:从p所指字符串中找出ASCII码值最大的字符,将其放在第一个位置上,并将该字符前的原字符向后顺序移动。
|
12月前
|
Go
剑指offer 52. 字符流中第一个只出现一次的字符
剑指offer 52. 字符流中第一个只出现一次的字符
36 0
|
测试技术
字符串中有多少个不重复的字符并按由前到后的顺序输出一个新的字符串和该字符串长度的整数
字符串中有多少个不重复的字符并按由前到后的顺序输出一个新的字符串和该字符串长度的整数
60 0
第一个只出现一次的字符
第一个只出现一次的字符
35 0
C#编程-17:字符串取第一个和最后一个字符
C#编程-17:字符串取第一个和最后一个字符
269 0
1374. 生成每种字符都是奇数个的字符串
给你一个整数 n,请你返回一个含 n 个字符的字符串,其中每种字符在该字符串中都恰好出现 奇数次 。
96 0
|
Java Python
给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度
给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度
给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度
|
Go
字符流中第一个不重复的字符
字符流中第一个不重复的字符
60 0

热门文章

最新文章