题解 | #用两个栈实现队列#

用两个栈实现队列

http://www.nowcoder.com/practice/54275ddae22f475981afa2244dd448c6

这题一开始感觉js没有stack很奇怪 看来用数组也是可以实现的 其实我一开始直接想到shift不是挺好 感觉这个根本看不出来。难道quene就是用这样的底层实现的嘛? 思路还是好想的,两个栈,1先进后出,1所有弹到2先进后出,就变成2先进先出了,2就是队列。 当然这里的细节在与当2为空时,在把1的搬过来即可。 有点抄另一篇题解

 let s1=[]
 let s2=[]
function push(node)
{
    // write code here
    s1.push(node)
}
function pop()
{
    // write code here
    if(s2.length== 0){
         while(s1.length!=0){
         s2.push(s1.pop())
    }
    }
    return s2.pop()
 } 
    

module.exports = {
    push : push,
    pop : pop
};
全部评论

相关推荐

不愿透露姓名的神秘牛友
07-07 14:00
不想多说了,什么逆天HR,还要教我礼貌😂
机械打工仔:这不纯傻卵吗,他还操心上别人老板了
投递BOSS直聘等公司7个岗位
点赞 评论 收藏
分享
头顶尖尖的程序员:我是26届的不太懂,25届不应该是找的正式工作吗?为什么还在找实习?大四还实习的话是为了能转正的的岗位吗
点赞 评论 收藏
分享
陈逸轩1205:才105 哥们在养生呢
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务