美文网首页
155. 最小栈

155. 最小栈

作者: justonemoretry | 来源:发表于2021-09-02 21:34 被阅读0次
    image.png

    解法

    class MinStack {
    
        Stack<Integer> dataStack;
        // 辅助栈,栈顶保存最小元素,对应正常数据栈顶
        Stack<Integer> minStack;
        /** initialize your data structure here. */
        public MinStack() {
            dataStack = new Stack<>();
            minStack = new Stack<>();
            minStack.push(Integer.MAX_VALUE);
        }
        
        public void push(int val) {
            dataStack.push(val);
            minStack.push(Math.min(minStack.peek(), val));
        }
        
        public void pop() {
            dataStack.pop();
            // 这里也正常弹出,最小元素和之前栈中元素位置对应
            minStack.pop();
        }
        
        public int top() {
            return dataStack.peek();
        }
        
        public int getMin() {
            return minStack.peek();
        }
    }
    
    /**
     * Your MinStack object will be instantiated and called as such:
     * MinStack obj = new MinStack();
     * obj.push(val);
     * obj.pop();
     * int param_3 = obj.top();
     * int param_4 = obj.getMin();
     */
    

    相关文章

      网友评论

          本文标题:155. 最小栈

          本文链接:https://www.haomeiwen.com/subject/gfebiltx.html