包含min函数的栈

求解代码

java 复制代码
Stack<Integer> stackData1 = new Stack<Integer>();
    Stack<Integer> stackData2 = new Stack<Integer>();


    public void push(int node) {
        stackData1.push(node);
        if(stackData2.isEmpty()||node<=min()){
            stackData2.push(node);
        }
    }
    
    public void pop() {
        if(stackData1.peek().equals(min())){
            stackData2.pop();
        }
        stackData1.pop();
    }
    
    public int top() {
        return stackData1.peek();
    }
    
    public int min() {
        return stackData2.peek();
    }

小贴士

stackData1.peek().equals(min()) 来比较包装类的实际数值,也可以用 stackData1.peek().intValue() == min(),效果是一样的。

相关推荐
拉勾科研工作室5 小时前
区块链工程毕业论文题目【249个】
开发语言·javascript
程序员黑豆5 小时前
Java中的字符串【AI全栈开发】
java
namexingyun6 小时前
开源前端生态如何成为 AI UI 生成的“燃料“:shadcn/ui、Tailwind CSS、Storybook 技术价值全解剖
java·前端·人工智能·python·ui·开源·ai编程
z落落6 小时前
C#WinForm控件实战:Panel与单选框动态创建
开发语言·c#
ptc学习者6 小时前
python 中描述符@property property 大概的样子
开发语言·python
zmzb01036 小时前
Python课后习题训练记录Day129
开发语言·python
洛水水6 小时前
【力扣100题】81.寻找两个正序数组的中位数
数据结构·算法·leetcode
终将老去的穷苦程序员6 小时前
基于SpringBoot的餐饮管理系统
java·spring boot·后端
心之伊始6 小时前
Spring AI Tool Calling 实战:让 Java Agent 调用本地 Bean 工具方法
java·spring boot·agent·spring ai·tool calling
张忠琳6 小时前
【Go 1.26.4】Golang Map 深度解析
开发语言·后端·golang