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

用两个栈实现队列

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
};
全部评论

相关推荐

10-30 23:23
已编辑
中山大学 Web前端
去B座二楼砸水泥地:这无论是个人素质还是专业素质都👇拉满了吧
点赞 评论 收藏
分享
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务