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

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

http://www.nowcoder.com/practice/00de97733b8e4f97a3fb5c680ee10720

{
public:
  //Insert one char from stringstream
    queue<char> q;
    map<char, int> mp;
    void Insert(char ch)
    {
      if(!mp[ch]){//如果是第一次出现,加入队列中
          q.push(ch);
      }
        mp[ch]++;//记录ch字符的个数
    }
  //return the first appearence once char in current stringstream
    char FirstAppearingOnce()
    {
     while(!q.empty()){
         char temp=q.front();
         if(mp[temp]==1){//证明第一次出现,直接返回该字符
             return temp;
         }
         else{//不是首个字母,那么就得出栈
             q.pop();
         }
     }
         return '#';//其他情况直接返回
    }
};
全部评论

相关推荐

03-12 14:52
已编辑
长沙学院 Java
点赞 评论 收藏
分享
03-03 23:12
已编辑
北京邮电大学 Java
书海为家:我来给一点点小建议,因为毕竟还在学校不像工作几年的老鸟有丰富的项目经验,面试官在面试在校生的时候更关注咱们同学的做事逻辑和思路,所以最好在简历中描述下自己做过项目的完整过程,比如需求怎么来的,你对需求的解读,你想到的解决办法,遇到困难如何找人求助,最终项目做成了什么程度,你从中收获了哪些技能,你有什么感悟。
你的简历改到第几版了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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