Day 10: Stack and Queue
Leetcode 232: Implement Queue using Stacks
class MyQueue(object):
def __init__(self):
self.stack = []
def push(self, x):
return self.stack.append(x)
def pop(self):
if len(self.stack)==0:
return False
else:
return self.stack.pop(0)
def peek(self):
if len(self.stack)!=0:
return self.stack[0]
def empty(self):
if len(self.stack)==0:
return True
else:
return False
Notice: Each method must contain ‘self’ inside as we do some operation on the object! (OOP) e.g. def push(self):
Leetcode 225: Implement Stack using Queues
from collections import deque
class MyStack:
def __init__(self):
self.queue = deque()
def push(self, x: int) -> None:
return self.queue.appendleft(x)
def pop(self) -> int:
if len(self.queue)==0:
return False
else:
return self.queue.popleft()
def top(self) -> int:
return self.queue[0]
def empty(self) -> bool:
if len(self.queue)==0:
return True
else:
return False