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

你快乐吗?

Posted by bbkgl on October 9, 2019

荷花十里

清风鉴水

明月天衣

C++,hash,很简单的一道题,就是要看懂题。

题意“每插入一个字符”,都要输出当前字符串的“第一个不重复的字符”。

class Solution
{
private:
    int hash[128];
    std::string str_stream;
    
public:
  //Insert one char from stringstream
    void Insert(char ch) {
        str_stream.push_back(ch);
        hash[ch]++;
    }
  //return the first appearence once char in current stringstream
    char FirstAppearingOnce() {
        for (const char &it : str_stream) {
            if (hash[it] == 1)
                return static_cast<char>(it);
        }
        return '#';
    }

};