跳到主要内容

LCR125.图书整理II

链接:LCR125.图书整理II
难度:Easy
标签:栈、设计、队列
简介:用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。

题解 1 - typescript

  • 编辑时间:2020-06-30
  • 执行用时:464ms
  • 内存消耗:47.9MB
  • 编程语言:typescript
  • 解法介绍:入队则直接入栈,出队时判断 out 栈是否为空,为空的话把 in 栈出栈到 out 栈。
class CQueue {
inStack: number[] = [];
outStack: number[] = [];
appendTail(value: number): void {
this.inStack.push(value);
}
deleteHead(): number {
if (this.outStack.length === 0) {
if (this.inStack.length === 0) return -1;
while (this.inStack.length !== 0) this.outStack.push(this.inStack.pop()!);
}
return this.outStack.pop()!;
}
}