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

ConardLi

题目

用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。

基本思路

栈1:

用于入队列存储

栈2:

出队列时将栈1的数据依次出栈,并入栈到栈2中

栈2出栈即栈1的底部数据即队列要出的数据。

注意:

栈2为空才能补充栈1的数据,否则会打乱当前的顺序。

image

代码

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;
}
阅读 771

code秘密花园
基础知识、算法、原理、项目、面试。公众号code秘密花园

Reading makes a full man, conference a ready man, and writing an exact man.

9.5k 声望
2.3k 粉丝
0 条评论

Reading makes a full man, conference a ready man, and writing an exact man.

9.5k 声望
2.3k 粉丝
宣传栏