包含min的函數棧

包含min的函數棧

定義棧的數據結構,請在該類型中實現一個能夠得到棧最小元素的min函數。

public class Solution {
    private Stack<Integer> stack=new Stack<>();
    private Stack<Integer> minStack=new Stack<>();
    private int min=Integer.MAX_VALUE;
    public void push(int node) {
        stack.push(node);
        if(min>node)min=node;
        minStack.push(min);
    }
    
    public void pop() {
        stack.pop();
        minStack.pop();
        min=minStack.peek();
    }
    
    public int top() {
        return stack.peek();
    }
    
    public int min() {
        return min;//用min不保險,可能還沒有往裏放元素,用peek更好。
    }
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章