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

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

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

};

全部评论

相关推荐

牛客737698141号:他们可以看到在线简历的。。。估计不合适直接就拒了
点赞 评论 收藏
分享
双非坐过牢:非佬,可以啊10.28笔试,11.06评估11.11,11.12两面,11.19oc➕offer
点赞 评论 收藏
分享
北京亦庄某军工 硬件工程师 总包24万,六险二金,包吃住 普通本,国科大硕士,电子信息专业
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务