1. 程式人生 > >請實現一個函式用來找出字元流中第一個只出現一次的字元。

請實現一個函式用來找出字元流中第一個只出現一次的字元。

題目描述

請實現一個函式用來找出字元流中第一個只出現一次的字元。例如,當從字元流中只讀出前兩個字元"go"時,第一個只出現一次的字元是"g"。當從該字元流中讀出前六個字元“google"時,第一個只出現一次的字元是"l"。

輸出描述:

如果當前字元流沒有存在出現一次的字元,返回#字元。
class Solution
{
public:
  //Insert one char from stringstream
    string s;
    int temp[128] = {0};
    //vector<int> temp(128,0);
    void Insert(char ch)
    {
        s += ch;
        temp[ch]++;
    }
  //return the first appearence once char in current stringstream
    char FirstAppearingOnce()
    {
        for(int i=0;i<s.length();i++){
            if(temp[s[i]]==1)
                return s[i];
        }
        return '#';
    }

};