题解 | 【模板】队列操作

【模板】队列操作

https://www.nowcoder.com/practice/1137c8f6ffac4d5d94cc1b0cb08723f9

import java.util.Scanner;
import java.util.*;

// 参考:https://blog.nowcoder.net/n/b52e09efd4324499aceaf9084d2b15a0
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int n = in.nextInt();
        Queue<Integer> q =  new LinkedList<>();

        for(int i = 0;i<n;i++){
            int op = in.nextInt();
            switch(op){
                case 1:
                    int x = in.nextInt();
                    q.add(x);
                    break;
                case 2:
                    if(q.isEmpty()){
                        System.out.println("ERR_CANNOT_POP");
                    }else{
                        // 若队列非空,则仅将队头元素出队,否则输出 `ERR_CANNOT_POP`;
                        q.poll();
                    }
                    break;
                case 3:
                        // 查询并输出队首元素,队列为空时输出 `ERR_CANNOT_QUERY`;
                    if(q.isEmpty()){
                        System.out.println("ERR_CANNOT_QUERY");
                    }else{
                        System.out.println(q.peek());
                    }
                    break;
                case 4:
                    System.out.println(q.size());
                    break;
            }
        }
    }
}

全部评论

相关推荐

02-07 10:52
复旦大学 Java
混子不想混:非常能理解,感觉他们就靠着入行早,打压新人一样。我这个公司也是,天天干的累死累活,然后绩效打C,合着让新人被绩效,像是年底攒棺材本一样。总是打击之后,还会让人开始自我怀疑,是不是我努力的还不够,实际上并不是,就是他们不做人,故意打压新人。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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