zoukankan      html  css  js  c++  java
  • 剑指offer53-字符流中第一个不重复字符

    题目描述

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

    输出描述:

    如果当前字符流没有存在出现一次的字符,返回#字符。
    class Solution
    {
    public:
      //Insert one char from stringstream
        queue<char>q;
        char ve[256]{0};
        void Insert(char ch)
        {
             ve[ch]++;
            if(ve[ch]==1)q.push(ch);
        }
      //return the first appearence once char in current stringstream
        char FirstAppearingOnce()
        {
            //如何确保是第一个字符,队列按序保存已出现字符
            while(!q.empty())
            {
                if(ve[q.front()]==1)
                    return q.front();
                else {
                    q.pop();
                }
                    
            }
            return '#';
        
        }

    };
  • 相关阅读:
    MySQL--mysqldump的权限说明
    JS--switch 语句
    psutil官方文档
    mysql 性能分析套件
    mysql 在启动时配置文件的查找方式
    mysql中的意向锁IS,IX
    mysql innodb_double_write特性
    mysql sql_mode 之 NO_ENGINE_SUBSTITUTION
    编译安装hph
    pip list 和 pip freeze
  • 原文地址:https://www.cnblogs.com/trouble-easy/p/12981382.html
Copyright © 2011-2022 走看看