策略比较简单,在添加的时候向 stack1 中 push;而在弹出的时候从 stack2 中 pop,直到 stack2 为空,再把 stack1 中的元素倒到 stack2 中。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| class Solution { public: void push(int node) { stack1.push(node); }
int pop() { if(stack2.empty()){ while(!stack1.empty()){ int temp=stack1.top(); stack1.pop(); stack2.push(temp); } } if(stack2.empty()) return 0; int result=stack2.top(); stack2.pop(); return result; }
private: stack<int> stack1; stack<int> stack2; };
|