- 双栈法。
- 注意小栈的处理。
时间复杂度:O(1)
空间复杂度:O(n), 开辟了一个辅助栈。
class Solution { public: //双栈法解决此问题 stack<int> stk, mins; void push(int value) { stk.push(value); if(mins.empty()){ mins.push(value); }else{ if(value<=mins.top()){ mins.push(value); }else{ mins.push(mins.top()); } } } void pop() { stk.pop();//同时弹 mins.pop(); } int top() { return stk.top(); } int min() { return mins.top(); } };