美文网首页
字符流中第一个不重复的字符

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

作者: UAV | 来源:发表于2020-06-22 06:48 被阅读0次

    题目描述

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

    输出描述

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

    #include<vector>
    class Solution
    {
    public:
        //Insert one char from stringstream
        void Insert(char ch)
        {
            data.push_back(ch);
        }
        //return the first appearence once char in current stringstream
        //哈希
        char FirstAppearingOnce()
        {
            for (int i = 0; i <data.size(); i++)
            {
                for (int j = i+1; j <data.size(); j++)
                {
                    if (data[i] == data[j]) {
                        data[i] = ' ';
                        data[j] = ' ';
                    }
                }
            }
            char result= '#';
            for (int k = 0; k <data.size(); k++)
            {
                if (data[k] != ' ') {
                    result = data[k];
                    return result;
                }
            }
            return result;
        }
        
        vector<char> data;
    };
    

    相关文章

      网友评论

          本文标题:字符流中第一个不重复的字符

          本文链接:https://www.haomeiwen.com/subject/tmvtfktx.html