Advertisement
DeepRest

Implement Stack using Queues

May 5th, 2022
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.94 KB | None | 0 0
  1. class MyQueue:
  2.    
  3.     def __init__(self):
  4.         self.queue = deque()
  5.         self.sz = 0
  6.        
  7.     def enqueue(self, x):
  8.         self.queue.append(x)  
  9.         self.sz += 1
  10.    
  11.     def dequeue(self):  
  12.         self.sz -= 1
  13.         return self.queue.popleft()
  14.    
  15.     def front(self):
  16.         return self.queue[0]
  17.    
  18.     def empty(self):
  19.         return self.sz == 0
  20.    
  21.     def size(self):
  22.         return self.sz
  23.  
  24. class MyStack:
  25.  
  26.     def __init__(self):
  27.         self.mainQ = MyQueue()
  28.  
  29.     def push(self, x: int) -> None:  
  30.         self.sz = self.mainQ.size()
  31.         self.mainQ.enqueue(x)  
  32.         for itr in range(self.sz):  
  33.             head = self.mainQ.dequeue()
  34.             self.mainQ.enqueue(head)
  35.  
  36.     def pop(self) -> int:  
  37.         return self.mainQ.dequeue()
  38.  
  39.     def top(self) -> int:
  40.         return self.mainQ. front()
  41.  
  42.     def empty(self) -> bool:
  43.         return self.mainQ.empty()
  44.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement