23.用两个栈实现队列

2019-10-30  本文已影响0人  percykuang

题目

用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。

代码

// 这个栈用来存储入队的元素
var inStack = []
// 这个栈用来处理出队的元素
var outStack = []

// 入队的时候,直接将元素网inStack里扔
function push(node) {
  inStack.push(node)
}
// 出队的时候,如果出队的outStack里面还有元素,就先让它出完
// 当outStack里的元素都出队了,则再从inStack里导入到outStack继续出队
function pop() {
  if (outStack.length === 0) {
    while (inStack.length !== 0) {
      outStack.push(inStack.pop())
    }
  }
  return outStack.pop()
}
上一篇 下一篇

猜你喜欢

热点阅读