LeetCode NO.155 cpp(5.2)

标签:栈,设计

NO.155 最小栈
在这里插入图片描述

class MinStack {
public:
 stack<int> s;
    stack<int> min;
    /** initialize your data structure here. */
    MinStack() {
        
    }
    
    void push(int x) {
        s.push(x);
        if(min.empty()||x<=min.top())
        {
            min.push(x);
        }
    }
    
    void pop() {
        if(s.top()==min.top())
            min.pop();
        s.pop();
    }
    
    int top() {
        return s.top();
    }
    int getMin() {
        return min.top();
    }
};
/**
 * Your MinStack object will be instantiated and called as such:
 * MinStack* obj = new MinStack();
 * obj->push(x);
 * obj->pop();
 * int param_3 = obj->top();
 * int param_4 = obj->getMin();
 */

这里的方法是用两个栈实现最小栈功能——一个栈存放数据,另一个栈存放前栈中最小的数据。
在这里插入图片描述

发布了14 篇原创文章 · 获赞 0 · 访问量 145

猜你喜欢

转载自blog.csdn.net/weixin_45438011/article/details/105036466
今日推荐