牛客(20)包含min函数的栈

    //
//    题目描述
//    定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。
    Stack<Integer> stack = new Stack<Integer>();
    Stack<Integer> stackMin = new Stack<Integer>();

    public void push(int node) {
        stack.push(node);
        if (stackMin.isEmpty()){
            stackMin.push(node);
        }else {
            if (node<stackMin.peek()){
                stackMin.push(node);
            }
        }
    }

    public void pop() {
        if(stack.pop()==stackMin.peek()){
         stackMin.pop();
        }
    }

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

    public int min() {
        return stackMin.peek();
    }

 

posted @ 2018-05-08 12:47  楷兵  阅读(74)  评论(0编辑  收藏  举报