队列和栈的相互转化
2016-10-18 本文已影响20人
少冰三hun甜
1. 用两个栈实现一个队列
实现代码:
2. 用两个队列实现一个栈
因为push的时候是往任意一个不为空的栈里添加,栈是先进后出所以把栈里的元素一个个弹出来保存在另一个栈,剩下最后一个就是最先的元素,此时把它弹出就实现了队列的pop出队操作。下次pop的时候一样再倒腾一遍就行了。
top也是一样的原理,只不过输出了最先进入的元素之后还得保存回去。
实现代码:
3. 包含min函数的栈
思路就是用多一个栈来保存当前栈的最小值