Skip to content

Commit 581c734

Browse files
committed
Runtime: 44 ms (Top 15.83%) | Memory: 16.50 MB (Top 18.94%)
1 parent 033a430 commit 581c734

File tree

1 file changed

+37
-0
lines changed

1 file changed

+37
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
// Runtime: 44 ms (Top 15.83%) | Memory: 16.50 MB (Top 18.94%)
2+
3+
class MyStack:
4+
5+
def __init__(self):
6+
self.q1 = deque()
7+
self.q2 = deque()
8+
9+
def push(self, x: int) -> None:
10+
self.q1.append(x)
11+
12+
def pop(self) -> int:
13+
while len(self.q1) > 1:
14+
self.q2.append(self.q1.popleft())
15+
16+
popped_element = self.q1.popleft()
17+
18+
# Swap q1 and q2
19+
self.q1, self.q2 = self.q2, self.q1
20+
21+
return popped_element
22+
23+
def top(self) -> int:
24+
while len(self.q1) > 1:
25+
self.q2.append(self.q1.popleft())
26+
27+
top_element = self.q1[0]
28+
29+
self.q2.append(self.q1.popleft())
30+
31+
# Swap q1 and q2
32+
self.q1, self.q2 = self.q2, self.q1
33+
34+
return top_element
35+
36+
def empty(self) -> bool:
37+
return len(self.q1) == 0

0 commit comments

Comments
 (0)