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

a 夏天 提交于 2019-12-18 01:50:56

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

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

 

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

 

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

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!