zoukankan      html  css  js  c++  java
  • 《剑指offer》-找到字符串中第一个只出现一个的字符

    题目描述
    请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g"。当从该字符流中读出前六个字符“google"时,第一个只出现一次的字符是"l"。
    输出描述:
    如果当前字符流没有存在出现一次的字符,返回#字符。

    class Solution
    {
    private:
    	vector<char> vec;
        map<char, int> mapper;
    public:
      //Insert one char from stringstream
        void Insert(char ch)
        {
            vec.push_back(ch);
            mapper[ch] ++;
        }
      //return the first appearence once char in current stringstream
        char FirstAppearingOnce()
        {
            for(int i=0; i<vec.size(); i++){
                if(mapper[vec[i]]==1){
                    return vec[i];
                }
            }
            
            return '#';
        }
    
    };
    
  • 相关阅读:
    ch_6802 車的放置
    ch_POJ2182 Lost Cows
    ch_4201 楼兰图腾
    luogu_P3368【模板】树状数组 2
    门面
    建造者
    模板方法
    状态
    抽象工厂
    工厂方法
  • 原文地址:https://www.cnblogs.com/zjutzz/p/6503572.html
Copyright © 2011-2022 走看看