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

相关推荐
齊家治國平天下几秒前
AAOS 电源管理深度解析:休眠/唤醒/功耗优化
android·车载系统·aaos·aosp·电源管理·休眠唤醒·carpowermanager
豆角焖肉8 分钟前
Maven进阶与搭建私服
java·maven
大不点wow19 分钟前
Java序列化与反序列化:让对象走出JVM
java·开发语言·jvm
阿里嘎多学长20 分钟前
2026-07-22 GitHub 热点项目精选
开发语言·程序员·github·代码托管
噢,我明白了24 分钟前
Java中日期和字符串的处理
java·开发语言·日期
爱刷碗的苏泓舒24 分钟前
C 语言 if-else 与 switch-case 分支语句对比
c语言·开发语言
Xzaveir25 分钟前
企业号码展示不可观测怎么办:状态机、拨测事件与异常回放
android·人工智能
dkbnull31 分钟前
Spring Boot请求处理组件对比详解
java·spring boot
jun_bai32 分钟前
Orthanc服务器使用java上传dicom影像文件
java·运维·服务器
-银雾鸢尾-34 分钟前
C#中的泛型约束
开发语言·c#