implement-stack-using-queues py3

This commit is contained in:
2022-05-05 09:28:34 +05:30
parent f2cbcaa0fb
commit 554e17c64a
3 changed files with 85 additions and 0 deletions

View File

@@ -0,0 +1,45 @@
from collections import deque
class MyStack:
def __init__(self):
self.q = deque()
self.tmp = deque()
def push(self, x: int) -> None:
self.q.append(x)
self.head = x
def pop(self) -> int:
tmp = deque()
popped = None
prev = None
while True:
popped = self.q.popleft()
if not self.q:
break
prev = popped
tmp.append(prev)
self.q = tmp
self.head = prev
return popped
def top(self) -> int:
return self.head
def empty(self) -> bool:
return len(self.q) == 0
# Your MyStack object will be instantiated and called as such:
# obj = MyStack()
# obj.push(x)
# param_2 = obj.pop()
# param_3 = obj.top()
# param_4 = obj.empty()