题解 | #点击消除#

点击消除

http://www.nowcoder.com/practice/8d3643ec29654cf8908b5cf3a0479fd5

import java.util.*;
public class Main{
    public static void main(String[] args){
        Scanner scanner = new Scanner(System.in);
        String str = scanner.nextLine();
        Deque<Character> que = new LinkedList<Character>();
        char[] arr = str.toCharArray();
        for(char ch:arr){
            if(que.isEmpty()){
                que.add(ch);
            }else{
                if((char)que.getLast()==ch)
                    que.pollLast();
                else
                    que.add(ch);
            }
        }
        if(que.isEmpty())
            System.out.println(0);
        else{
            String res = "";
            while(!que.isEmpty()){
                res+=que.poll();
            }
            System.out.println(res);
        }
            
    }
}

注意: 1.由于最后输出字符串,需要将栈中元素从前向后输出,使用双向队列可以满足这一要求 2.Deque一般使用LinkedList来实现该接口 add()队尾增加元素 poll()队首弹出元素并删除 getFirst() getLast() pollFirst() pollLast()

全部评论

相关推荐

06-15 02:05
已编辑
南昌航空大学 数据分析师
Eason三木:你如果想干技术岗,那几个发公众号合唱比赛的经历就去掉,优秀团员去掉,求职没用。然后CET4这种不是奖项,是技能,放到下面的专业技能里或者单独列一个英语能力。 另外好好改改你的排版,首行缩进完全没有必要,行间距好好调调,别让字和标题背景黏在一起,你下面说能做高质量PPT你得展现出来啊,你这简历排版我用PPT做的都能比你做的好。 然后自我评价,你如果要干数据工程师,抗压能力强最起码得有吧。
简历中的项目经历要怎么写
点赞 评论 收藏
分享
爱睡觉的冰箱哥:学历不够啊兄弟,分析师都是9硕✌🏻咱搞不过他们滴
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-11 12:10
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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