包含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(),效果是一样的。

相关推荐
NE_STOP6 小时前
MyBatis-plus进阶之映射与条件构造器
java
Kapaseker8 小时前
一杯美式讲完 Sealed Class
android·kotlin
Seven978 小时前
NIO的零拷贝如何实现高效数据传输?
java
冬奇Lab19 小时前
PowerManagerService(下):Doze模式与电池优化
android·源码阅读
砖厂小工21 小时前
Compose 中函数引用 vs Lambda:到底该用哪个?
android
架构师沉默1 天前
别又牛逼了!AI 写 Java 代码真的行吗?
java·后端·架构
后端AI实验室1 天前
我把一个生产Bug的排查过程,交给AI处理——20分钟后我关掉了它
java·ai
凉年技术1 天前
Java 实现企业微信扫码登录
java·企业微信
xlp666hub1 天前
Leetcode第五题:用C++解决盛最多水的容器问题
linux·c++·leetcode
狂奔小菜鸡1 天前
Day41 | Java中的锁分类
java·后端·java ee