Implement Stack using Queues
EasyStackDesignQueue
Solution
export class MyStack {
private readonly queue: number[];
constructor() {
this.queue = [];
}
push(x: number): void {
this.queue.push(x);
for (let i = 0; i < this.queue.length - 1; i++) {
const peek = this.queue.shift();
if (peek !== undefined) {
this.queue.push(peek);
}
}
}
pop(): number | undefined {
return this.queue.shift();
}
top(): number | undefined {
return this.queue[0];
}
empty(): boolean {
return this.queue.length === 0;
}
}