• 字符流中第一个不重复字符


    题目描述

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

    输出描述:

    如果当前字符流没有存在出现一次的字符,返回#字符。
    解题:简单hash应用

    c++代码如下:
    class Solution
    {
    public:
      //Insert one char from stringstream
        string s;
        int hash[256]={0};
        void Insert(char ch)
        {
           s+=ch;
           hash[ch]++;//在数组中自动转化为其对应的ascll码 
        }
      //return the first appearence once char in current stringstream
        char FirstAppearingOnce()
        {
        for(int i=0;i<s.size();i++){
            if(hash[s[i]]==1){
                return s[i];
            }
        }return '#';
        }
    
    };

    java代码如下:

    public class Solution {
        //Insert one char from stringstream
            String s="";//java代码中这个必须赋为空
        int hash[]=new int [256];
        public void Insert(char ch)
        {
            s+=ch;
           hash[ch]++;//在数组中自动转化为其对应的ascll码        
        }
      //return the first appearence once char in current stringstream
        public char FirstAppearingOnce()
        {
            for(int i=0;i<s.length();i++){
            if(hash[s.charAt(i)]==1){
                return s.charAt(i);
            }
        }return '#';
        }
        };
    不一样的烟火
  • 相关阅读:
    2018.11.12
    2018.11.8
    2018.11.7
    2018.11.6
    2018.11.5
    学习python课程第七天
    作业四.
    学习python课程第六天
    作业3
    学习python课程第五天
  • 原文地址:https://www.cnblogs.com/cstdio1/p/11245291.html
Copyright © 2020-2023  润新知