题解 | #包含min函数的栈#

包含min函数的栈

https://www.nowcoder.com/practice/4c776177d2c04c2494f2555c9fcc1e49

import java.util.Stack;

public class Solution {

    private Stack<Integer> stack1 = new Stack<>();
    private Stack<Integer> stack2 = new Stack<>();

    
    public void push(int node) {
        if (stack1.isEmpty()) {
            stack1.push(node);
            stack2.push(node);
        } else {
            int val = stack2.peek();
            if (val < node) {
                stack2.push(val);
            } else {
                stack2.push(node);
            }
            stack1.push(node);
        }
    }
    
    public void pop() {
        if (stack1.isEmpty()) {
            throw new RuntimeException("The stack is empty");
        }
        stack1.pop();
        stack2.pop();
    }
    
    public int top() {
        if (stack1.isEmpty()) {
            throw new RuntimeException("The stack is empty");
        }
        return stack1.peek();
    }
    
    public int min() {
        if (stack2.isEmpty()) {
            throw new RuntimeException("The stack is empty");
        }
        return stack2.peek();
    }
}

全部评论

相关推荐

下北澤大天使:你是我见过最美的牛客女孩😍
点赞 评论 收藏
分享
06-15 02:05
已编辑
南昌航空大学 数据分析师
Eason三木:你如果想干技术岗,那几个发公众号合唱比赛的经历就去掉,优秀团员去掉,求职没用。然后CET4这种不是奖项,是技能,放到下面的专业技能里或者单独列一个英语能力。 另外好好改改你的排版,首行缩进完全没有必要,行间距好好调调,别让字和标题背景黏在一起,你下面说能做高质量PPT你得展现出来啊,你这简历排版我用PPT做的都能比你做的好。 然后自我评价,你如果要干数据工程师,抗压能力强最起码得有吧。
简历中的项目经历要怎么写
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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