怎么用两个栈实现一个队列
如何用两个栈实现一个队列
如题,求最优解。谢谢~
------解决方案--------------------
思路:
假设两个栈 a 和b,且都为空。
可以认为栈 a 为提供入队列的功能,栈 b 提供出队列的功能。
入队列: 入栈 a
出队列:
1 如果栈b 不为空,直接弹出栈 b 的数据。
2 如果栈 b 为空,则依次弹出栈 a 的数据,放入栈 b 中,再弹出栈 b 的数据。
如题,求最优解。谢谢~
------解决方案--------------------
思路:
假设两个栈 a 和b,且都为空。
可以认为栈 a 为提供入队列的功能,栈 b 提供出队列的功能。
入队列: 入栈 a
出队列:
1 如果栈b 不为空,直接弹出栈 b 的数据。
2 如果栈 b 为空,则依次弹出栈 a 的数据,放入栈 b 中,再弹出栈 b 的数据。