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

用两个栈实现队列

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
};

全部评论

相关推荐

05-26 09:07
已编辑
门头沟学院 Java
点赞 评论 收藏
分享
能干的三文鱼刷了100道题:公司可能有弄嵌入式需要会画pcb的需求,而且pcb能快速直观看出一个人某方面的实力。看看是否有面试资格。问你问题也能ai出来,pcb这东西能作假概率不高
点赞 评论 收藏
分享
就在我现在公司的隔壁每天经过都唏嘘不已(就是羡慕)什么时候可以到这里上班啊
柯基在debug:从大学毕业投简历到现在了,应届的时候我都面到终面了,现在工作四年了连简历初筛都过不了了
投递莉莉丝游戏等公司8个岗位 >
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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