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

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

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

set存放当前已经存在的字符

chs存发当前唯一存在的字符队列

unique这个唯一的字符

import java.util.*;

public class Solution {
    Set<Character> set = new HashSet<>();
    LinkedList<Character> chs = new LinkedList<>();//当前唯一的字符
    char unique = '#';
    public void Insert(char ch)
    {
        if(set.contains(ch)){
            chs.remove(new Character(ch));//删
            if(ch == unique){
                if(chs.size() == 0)unique = '#';
                else unique = chs.getFirst();
            }
        } else {
            if(unique == '#')unique = ch;
            chs.add(ch);
        }
        set.add(ch);
    }
  //return the first appearence once char in current stringstream
    public char FirstAppearingOnce()
    {
        return unique;
    }
}
全部评论

相关推荐

不愿透露姓名的神秘牛友
07-11 11:24
大家还是用ai改吧,我心疼得要死,就当花钱买教训吧,人家直接拿完钱就跑路了
程序员小白条:简历修改700....神奇,又不是帮你面试,咋的,简历修改从双非变92了还是没实习变成有大厂实习了
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-11 11:22
怎么这么多逆天求职者,救救我救救我救救我😭
flmz_Kk:哈哈哈哈哈哈,这么多求职者,肯定有那一两个逆天的
点赞 评论 收藏
分享
码农索隆:想看offer细节
点赞 评论 收藏
分享
仁者伍敌:实习生要工作经验,工作要实习经验
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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