class Solution
{
public:
void push(int node) {
stack1.push(node);
}
int pop() {
if(stack2.size()){
int val=stack2.top();
stack2.pop();
return val;
} else{
while(stack1.size()){
stack2.push(stack1.top());
stack1.pop();
}
return pop();
}
}
private:
stack<int> stack1;
stack<int> stack2;
};
思路:每一次入队操作变成stack1的入栈,出队操作从stack2出栈,如果stack2为空考虑stack1的内容转移至stack2

京公网安备 11010502036488号