剑指offer用两个栈实现队列

Posted 叶子叶子耶

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了剑指offer用两个栈实现队列相关的知识,希望对你有一定的参考价值。

题目描述:

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

解题代码:

var stack1 = [];
var stack2 = [];
//栈:后进先出;队列:先进先出;用栈1来保存进来的数
function push(node)
{
    // write code here
    stack1.push(node);
}
//模拟出队列:出栈1的数全部放进栈2,第一个出栈2的数即为第一个出队的数,返回它,再将剩下的数全部放入栈1
function pop()
{
    // write code here
    while(stack1.length != 0){
        stack2.push(stack1.pop());
    }
    var result = stack2.pop();
    while(stack2.length != 0){
        stack1.push(stack2.pop());
    }
    return result;
}

 

以上是关于剑指offer用两个栈实现队列的主要内容,如果未能解决你的问题,请参考以下文章

剑指 Offer 09. 用两个栈实现队列

剑指offer-用两个栈实现队列

剑指offer---用两个栈实现队列

《剑指Offer——面试题9:用两个栈实现队列》代码

《剑指offer》— JavaScript用两个栈实现队列

剑指offer用两个栈实现队列