用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。

思路:栈是先进先出,队列是先进后出。那么两个栈需要实现的就是先进后出。比如输入ABCD,按顺序放在一个栈里面就是ABCD。见下图

《剑指offer》两个栈实现队列

 

在队列中对一个出来的是A,在栈中第一个出来的是D。而一个栈是先进先出ABCD,那么用另外一个栈做存储。A栈存着ABCD,弹出存到B栈中,就得到:

《剑指offer》两个栈实现队列

 

这样,B栈的弹出对一个就是A了,这样就用两个栈实现类队列。

相关文章: