【牛客网】剑指offer编程题:用两个栈实现队列(C++)
栈:先进后出(杯子)
队列:先进先出(管道)
队列 push 的实现: 把 node 入栈 stack1 (模拟队列);
队列 pop 的实现:1、编写copy 函数(将一个栈的元素移到另一个栈里(结果两个栈元素顺序相反));
2、 stack1 移到 stack2 中;
3、 stack2 弹出顶部元素 res;
4、stack2 移到 stack1 中, 返回 res,结束。
栈:先进后出(杯子)
队列:先进先出(管道)
队列 push 的实现: 把 node 入栈 stack1 (模拟队列);
队列 pop 的实现:1、编写copy 函数(将一个栈的元素移到另一个栈里(结果两个栈元素顺序相反));
2、 stack1 移到 stack2 中;
3、 stack2 弹出顶部元素 res;
4、stack2 移到 stack1 中, 返回 res,结束。