1. 程式人生 > 其它 >劍指offer——字元流中第一個不重複的字元C++

劍指offer——字元流中第一個不重複的字元C++

技術標籤:劍指Offer#字串資料結構字串演算法劍指offer

在這裡插入圖片描述
直接圖方便了,來一個string和一個map,每次insert就加在s後面,並記錄該字元出現次數。在first函式中,遍歷該字元,找到第一個出現一次的返回即可。

class Solution
{
public:
  //Insert one char from stringstream
    void Insert(char ch)
    {
         s += ch;
         ma[ch]++;
    }
  //return the first appearence once char in current stringstream
char FirstAppearingOnce() { for(int i = 0; i < s.length(); ++i){ if(ma[s[i]] == 1) return s[i]; } return '#'; } private: string s; map<char,int> ma; };