题解 | #包含min函数的栈#

包含min函数的栈

http://www.nowcoder.com/practice/4c776177d2c04c2494f2555c9fcc1e49

让都O(1)就得想办法存最小值,这个最小值还要能够随着栈操作相应的变化,所以采用一个辅助栈用来存最小值

class Solution {
public:
    stack<int> stack,mstack;
    void push(int value) {
        stack.push(value);
        if(mstack.empty()){
            mstack.push(value);
        }
        else mstack.push(value>mstack.top()?mstack.top():value);
    }
    void pop() {
        stack.pop();
        mstack.pop();
    }
    int top() {
        return stack.top();
    }
    int min() {
        return mstack.top();
    }
};
全部评论

相关推荐

Edgestr:没项目地址就干脆把那一栏删了呗
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务