【剑指offer】6.用两个栈实现队列

41次阅读

共计 314 个字符,预计需要花费 1 分钟才能阅读完成。

题目
用两个栈来实现一个队列,完成队列的 Push 和 Pop 操作。队列中的元素为 int 类型。
基本思路
栈 1:
用于入队列存储
栈 2:
出队列时将栈 1 的数据依次出栈,并入栈到栈 2 中
栈 2 出栈即栈 1 的底部数据即队列要出的数据。
注意:
栈 2 为空才能补充栈 1 的数据,否则会打乱当前的顺序。

代码
const stack1 = [];
const stack2 = [];

function push(node)
{
stack1.push(node);
}
function pop()
{
if(stack2.length === 0){
while(stack1.length>0){
stack2.push(stack1.pop());
}
}
return stack2.pop() || null;
}

正文完
 0