题解 | #设计getMin功能的栈#

设计getMin功能的栈

https://www.nowcoder.com/practice/05e57ce2cd8e4a1eae8c3b0a7e9886be

import java.util.*;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {

        //正常保存数字的栈
        Stack<Long> stackNum = new Stack<>();
        //保存最小值的栈
        Stack<Long> stackMIn = new Stack<>();

        Scanner in = new Scanner(System.in);

        int N = in.nextInt();

        for (int i = 0; i < N; i++) {
            String str = in.next();

            if (str.startsWith("push")) {
                long num = in.nextInt();
                stackNum.push(num);
                //最小栈入栈的时机
                if (stackMIn.isEmpty() || num <= stackMIn.peek()) {
                    stackMIn.push(num);
                }
            } else if (str.startsWith("pop")) {
                long popNum = stackNum.pop();
                //最小栈弹出的时机
                if (popNum == stackMIn.peek()) {
                    stackMIn.pop();
                }
            } else if (str.startsWith("getMin")) {
                System.out.println(stackMIn.peek());
            }
        }

    }
}

栈和队列,记录栈和队列的一些题

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-01 17:13
想去,但是听说加班强度实在难崩,所以拒绝了,现在有点心梗对面hr感觉也是实习生,打电话的时候怪紧张的,但是感觉人很好嘞
水中水之下水道的鼠鼠:哥们这不先去体验一下,不行再跑呗,大不了混个实习经历(有更好的转正offer就当我没说)
点赞 评论 收藏
分享
06-23 11:43
门头沟学院 Java
allin校招的烤冷...:我靠,今天中午我也是这个hr隔一个星期发消息给我。问的问题还是一模一样的😅
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
06-26 14:50
人力小鱼姐:有后面墨迹那两句的时间问题早回答完了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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