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

相关推荐
沛沛老爹1 小时前
基于Spring Retry实现的退避重试机制
java·开发语言·后端·spring·架构
wregjru1 小时前
【C++】2.9异常处理
开发语言·c++·算法
古城小栈1 小时前
Rust unsafe 一文全功能解析
开发语言·后端·rust
没有bug.的程序员1 小时前
Java IO 与 NIO:从 BIO 阻塞陷阱到 NIO 万级并发
java·开发语言·nio·并发编程·io流·bio
无情的8861 小时前
S11参数与反射系数的关系
开发语言·php·硬件工程
AIFQuant1 小时前
2026 澳大利亚证券交易所(ASX)API 接入与 Python 量化策略
开发语言·python·websocket·金融·restful
肆悟先生2 小时前
3.18 constexpr函数
开发语言·c++·算法
SimonKing2 小时前
基于Netty的WebSocket自动解决拆包粘包问题
java·后端·程序员
毕设源码-邱学长2 小时前
【开题答辩全过程】以 基于Android的健康码系统架构为例,包含答辩的问题和答案
android·系统架构