用两个栈实现队列
- 用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 )
示例
输入:
["CQueue","appendTail","deleteHead","deleteHead"]
[[],[3],[],[]]
输出:[null,null,3,-1]
class CQueue {
constructor() {
this.stack1 = []
this.stack2 = []
}
appendTail(value) {
this.stack1.push(value)
}
deleteHead() {
const { stack1, stack2 } = this
if (!stack2.length) while (stack1.length) stack2.push(stack1.pop())
return stack2.pop() || -1
}
}
console结果可能不准确,按F12打开控制台查看