队列和栈的相互转化

2016-10-18  本文已影响20人  少冰三hun甜

1. 用两个栈实现一个队列


实现代码:




2. 用两个队列实现一个栈



因为push的时候是往任意一个不为空的栈里添加,栈是先进后出所以把栈里的元素一个个弹出来保存在另一个栈,剩下最后一个就是最先的元素,此时把它弹出就实现了队列的pop出队操作。下次pop的时候一样再倒腾一遍就行了。
top也是一样的原理,只不过输出了最先进入的元素之后还得保存回去。
实现代码:



3. 包含min函数的栈

思路就是用多一个栈来保存当前栈的最小值


上一篇 下一篇

猜你喜欢

热点阅读