Leetcode 155. 最小栈
思路
用一个辅助栈和一个保存当前最小值的栈
代码
class MinStack {
public:
/** initialize your data structure here. */
stack<int> sup, mins; //sup为辅助栈,mins为保存当前最小值的栈
MinStack() {
mins.push(INT_MAX); //初始化将最大整数入栈
}
void push(int x) {
sup.push(x);
mins.push(min(x,mins.top())); //用新元素和目前最小元素(栈顶)比较,取小者入栈
}
void pop() {
sup.pop();
mins.pop();
}
int top() {
return sup.top();
}
int getMin() {
return mins.top();
}
};