用两个栈实现队列
问题简述
用两个栈实现一个队列。
队列包含两个函数 appendTail 和 deleteHead(若队列中没有元素,deleteHead 操作返回 -1 )
思路
栈:先进后出;队列:先进先出;换言之,队列就是倒序输出的栈;
利用双栈可实现倒序输出:维护两个栈 A 和 B,将 A 中元素依次弹出并压入栈 B,再依次弹出 B 中元素,即实现了对栈 A 元素的倒序输出,即实现了队列的性质;
Last updated
问题简述
用两个栈实现一个队列。
队列包含两个函数 appendTail 和 deleteHead(若队列中没有元素,deleteHead 操作返回 -1 )
思路
栈:先进后出;队列:先进先出;换言之,队列就是倒序输出的栈;
利用双栈可实现倒序输出:维护两个栈 A 和 B,将 A 中元素依次弹出并压入栈 B,再依次弹出 B 中元素,即实现了对栈 A 元素的倒序输出,即实现了队列的性质;
Last updated