题解 | #包含min函数的栈#
包含min函数的栈
http://www.nowcoder.com/practice/4c776177d2c04c2494f2555c9fcc1e49
- 双栈法。
- 注意小栈的处理。
时间复杂度: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(); } };
剑指Offer 文章被收录于专栏
剑指offer的解析结合