leetcode 155 Min Stack C++

来源:互联网 发布:淘宝评价如何修改 编辑:程序博客网 时间:2024/06/03 02:02

用一个最小栈去维护最小值。

最小栈只入栈比当前值小的值。

因为在这个最小值后面进来的所有值中,最小值一直是这一个。


class MinStack {private:    stack<int> stk;    stack<int> min;public:    /** initialize your data structure here. */    MinStack() {            }        void push(int x) {        stk.push(x);        if(min.empty() || min.top()>=x) min.push(x);    }        void pop() {        if(stk.top()==min.top()) {min.pop();stk.pop();}        else stk.pop();    }        int top() {        return stk.top();    }        int getMin() {        return min.top();    }};


0 0
原创粉丝点击