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

用两个栈实现队列

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

/**
1. s1存储每次push的node
2. pop时,需要拿到s1最底下的node,需要s2辅助
3. s2存储s1pop的值直到s1为空栈,这样顺序就反过来了
4. s2在pop就模拟出了队列
*/

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

全部评论

相关推荐

10-30 19:23
已编辑
山东大学(威海) C++
牛至超人:我了个雷 1.实习经历写太长了吧,精简一点,你写那么老多,面试官看着都烦 2.项目经历你放俩竞赛干啥单独拿出来写上几等奖就行了呗 3.一大雷点就是项目经历里的那个课程设计,大家都知道课程设计巨水,不要写课程设计,换一个名字,就叫学生管理系统,面试官问就说是自己做的项目,不要提课程设计的事 4.那个交流经历,简化一下塞到最上面的教育经历里就行了 5.简历尽量一页纸
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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