Python•implement-stack-using-queues/synced-solution.py
from collections import deque
class MyStack:
def __init__(self):
self.queue = deque()
def push(self, x: int) -> None:
self.queue.append(x)
for _ in range(len(self.queue) - class="syntax-number">1):
self.queue.append(self.queue.popleft())
def pop(self) -> int:
return self.queue.popleft()
def top(self) -> int:
return self.queue[class="syntax-number">0]
def empty(self) -> bool:
return len(self.queue) == class="syntax-number">0
C++•implement-stack-using-queues/synced-solution.cpp
class MyStack {
private:
queue<int> q;
public:
MyStack() {}
void push(int x) {
q.push(x);
for (int i = class="syntax-number">0; i < q.size() - class="syntax-number">1; i++) {
q.push(q.front());
q.pop();
}
}
int pop() {
int top = q.front();
q.pop();
return top;
}
int top() {
return q.front();
}
bool empty() {
return q.empty();
}
};
TypeScript•implement-stack-using-queues/synced-solution.ts
class MyStack {
private queue: number[] = [];
push(x: number): void {
this.queue.push(x);
for (let i = class="syntax-number">0; i < this.queue.length - class="syntax-number">1; i++) {
this.queue.push(this.queue.shift()!);
}
}
pop(): number {
return this.queue.shift()!;
}
top(): number {
return this.queue[class="syntax-number">0];
}
empty(): boolean {
return this.queue.length === class="syntax-number">0;
}
}