class MinStack {
public:
/** initialize your data structure here. */
stack<int> S, minS;
MinStack() {
}
void push(int x) {
S.push(x);
if(minS.empty() || x <= minS.top()) minS.push(x);
}
void pop() {
if(minS.top() == S.top()) minS.pop();
S.pop();
}
int top() {
return S.top();
}
int min() {
return minS.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->min();
*/
【leetcode 最小栈 C++】【剑指 Offer】 30. 包含min函数的栈 155. Min Stack
最新推荐文章于 2022-09-17 16:43:39 发布