题解 | #字符流中第一个不重复的字符#
字符流中第一个不重复的字符
https://www.nowcoder.com/practice/00de97733b8e4f97a3fb5c680ee10720
#include <unordered_map>
class Solution {
public:
queue<char> qu;
unordered_map<char, int> umap;
//Insert one char from stringstream
void Insert(char ch) {
if (umap.find(ch) == umap.end()) {
umap.insert({ch, 1});
qu.push(ch);
} else {
umap[ch]++;
}
}
//return the first appearence once char in current stringstream
char FirstAppearingOnce() {
int i = 0;
int qsize = qu.size();
while (i < qsize) {
char front_value = qu.front();
if (umap[front_value] != 1) {
qu.pop();
i++;
continue;
} else {
return front_value;
}
i++;
}
return '#';
}
};

