【js版】 剑指offer【7】用两个栈实现队列

题目描述:

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

题目分析: 

入队:将元素进栈A

出队:判断栈B是否为空,如果为空,则将栈A中所有元素pop,并push进栈B,栈B出栈;

 如果不为空,栈B直接出栈。

栈:先进后出

队列:先进先出 

代码:

        var intStack = [],
            outStack =  [];
        function push(node){
            intStack.push(node)
        }
        function pop(){
            if(!outStack.length){
                while(intStack.length){
                  outStack.push(intStack.pop());
                }
            }
            return outStack.pop();
        }

 

 

 

    原文作者:算法
    原文地址: https://www.twblogs.net/a/5bd3e4572b717778ac2103ac
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞