题解 | #字符流中第一个不重复的字符#

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

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 '#';
  }

};

全部评论

相关推荐

09-01 11:31
门头沟学院 Java
buul:七牛云的吧,感觉想法是好的,但是大家没那么多时间弄他这个啊。。。不知道的还以为他是顶尖大厂呢还搞比赛抢hc,只能说应试者的痛苦考察方是无法理解的,他们只会想一出是一出
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务