题目链接:225. 用队列实现栈
题目解析:
题目要求用两个队列来实现栈的4个基本操作
(入栈、移除并返回栈顶元素、返回栈顶元素、判断栈是否为空)
你只能使用队列的基操()
入队
出队
队元素个数
判断队列是否为空
思路:
首先,我们要知道
队列是先进先出
栈是先进后出
然后考虑如何使用队列实现4个操作
两个队列,其中一个是备用队列,简单模拟一下即可
a队列为主队列,
b队列作为辅助队列,
当入栈操作时,我们先将主队列内容导入辅助队列,然后将入栈元素放入主队列队头位置,再将辅助队列内容,依次添加进主队列即可。
一句话,每进一个元素,我们就将之前的元素放到该元素末尾
用一个队列也可
如图所示:
详情看参考链接
举个例子
进栈顺序:1 2 3
出栈顺序:3 2 1