两个栈实现一个队列我们利用栈先进后出,队列先进先出的特点。当进栈完之后要出栈,这个时候只要把栈的数组颠倒反序。然后使用 pop()函数删除是返回数组最后一个元素的特点,删除颠倒完的数组,删除完候再颠倒回原来的数组。这个只要一个数组就可以实现队列的先进先出,如果使用两个数组还需要进行复制
var stack1 = [];
var stack2 = [];
function push(node)
{
stack1.push(node);
}
function pop()
{
if(!stack1.length){
return;
}
let stack = JSON.parse(JSON.stringify(stack1));
stack2 = stack.reverse();
const res = stack2.pop();
stack1 = stack2.reverse()
return res;
// write code here
}
module.exports = {
push : push,
pop : pop
};