最小栈 Min_Stack

在这里插入图片描述
最小栈,一定要读懂题目

class MinStack {

    /** initialize your data structure here. */
    Stack<Integer> stack;
    Stack<Integer> minStack;
    public MinStack() {
        stack=new Stack();
        minStack=new Stack();
    }
    
    public void push(int x) {
        stack.push(x);
        if(minStack.isEmpty()||x<minStack.peek()){
            minStack.push(x);
        }else{
            minStack.push(minStack.peek());
         }
    }
    
    public void pop() {
        stack.pop();
        minStack.pop();

    }
    
    public int top() {
        return stack.peek();
    }
    
    public int getMin() {
        return minStack.peek();
    }
}

/**
 * Your MinStack object will be instantiated and called as such:
 * MinStack obj = new MinStack();
 * obj.push(x);
 * obj.pop();
 * int param_3 = obj.top();
 * int param_4 = obj.getMin();
 */

版权声明:本文为qq_43170213原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。