Implement Queue using Stacks

Run Settings
LanguageJavaScript
Language Version
Run Command
class CrazyQueue{ constructor(){ this.first = []; this.last = []; } peek(){ if(this.last.length > 0) { return this.last[0]; } return this.first[this.first.length - 1]; } enqueue(value){ const length = this.first.length; for(let i = 0; i < length; i++) { this.last.push(this.first.pop()); } this.last.push(value); return this; } dequeue(){ const length = this.last.length; for(let i= 0; i < length; i++) { this.first.push(this.last.pop()); } this.first.pop(); return this; } } const myQueue = new CrazyQueue(); console.log(myQueue.peek()); myQueue.enqueue('Joy'); myQueue.enqueue('Matt'); myQueue.enqueue('Pavel'); console.log(myQueue); console.log(myQueue.peek()); myQueue.dequeue(); myQueue.dequeue(); myQueue.dequeue(); console.log(myQueue.peek());
Editor Settings
Theme
Key bindings
Full width
Lines