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

用两个栈实现队列

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

  • 当插入时,直接插入 stack1
  • 当弹出时,当 stack2 不为空,弹出 stack2 栈顶元素,如果 stack2 为空,将 stack1 中的全部数逐个出栈入栈 stack2,再弹出 stack2 栈顶元素

alt

let stack1 = [];
let stack2 = [];
function push(node)
{
  stack1.push(node);
}
function pop()
{
  if(stack2.length == 0){
    while(stack1.length != 0){
      stack2.push( stack1.pop() );
    }
  }
  return stack2.pop();
}
module.exports = {
    push : push,
    pop : pop
};
全部评论

相关推荐

评论
4
收藏
分享

创作者周榜

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