Leetcodeは毎日基本的なアルゴリズムの記事-設計上の問題-最小スタックをブラッシングします

主題の要件:

ここに画像の説明を挿入

嘘控除問題の解決策:

ここに画像の説明を挿入
ここに画像の説明を挿入

コード

/**
 * @program: mydemo
 * @description: 设计问题-最小栈
 * @author: Mr.zeng
 * @create: 2021-02-19 09:49
 **/
public class MinStack {
    
    
    private Stack<Integer> dataStack;
    private Stack<Integer> minStack;
    /** initialize your data structure here. */
    public MinStack() {
    
    
        dataStack=new Stack<>();
        minStack=new Stack<>();
    }

    public void push(int x) {
    
    
        dataStack.push(x);
        if(minStack.isEmpty()||x<=minStack.peek()){
    
    
            minStack.push(x);
        }
    }

    public void pop() {
    
    
        Integer x = dataStack.pop();
        if(x.equals(minStack.peek())){
    
    
            minStack.pop();
        }
    }

    public int top() {
    
    
        return dataStack.peek();
    }

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

おすすめ

転載: blog.csdn.net/weixin_42292697/article/details/113858044