使用栈实现队列
思路
队列和栈的区别就是弹出顺序,我们只需要把反转出栈顺序即可
那么需要维护两个栈,一个栈用来入列,一个栈来反转元素顺序并出列:
入列栈(栈1)
推入队列的数据都丢到这
出列栈(栈2)
弹出时从这个栈弹出,如果没有数据,则把入列栈的所有数据弹出并压入,然后再弹出以反转顺序
实现
1 | function queue() { |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 乱炖锅!
评论
队列和栈的区别就是弹出顺序,我们只需要把反转出栈顺序即可
那么需要维护两个栈,一个栈用来入列,一个栈来反转元素顺序并出列:
入列栈(栈1)
推入队列的数据都丢到这
出列栈(栈2)
弹出时从这个栈弹出,如果没有数据,则把入列栈的所有数据弹出并压入,然后再弹出以反转顺序
1 | function queue() { |