文章目录
两个栈设计队列
- push操作就直接往stack1中push
- pop操作需要分类一下:如果stack2为空,那么需要将stack1中的数据转移到stack2中,然后在对stack2进行pop;如果stack2不为空,直接pop
class Solution
{
public:
void push(int node) {
stack1.push(node);
}
int pop() {
if(stack2.empty()){
while(not stack1.empty()){
temp = stack1.top();
stack1.pop();
stack2.push(temp);
}
}
temp = stack2.top();
stack2.pop();
return temp;
}
private:
int temp;
stack<int> stack1; // 入队
stack<int> stack2; // 出队
};