tvl-depot/scratch/facebook/queue-two-stacks.py

21 lines
434 B
Python
Raw Normal View History

from stack import Stack
class Queue(object):
def __init__(self):
self.lhs = Stack()
self.rhs = Stack()
def enqueue(self, x):
self.rhs.push(x)
def dequeue(self, x):
y = self.rhs.pop()
while y:
self.lhs.push(y)
y = self.rhs.pop()
result = self.lhs.pop()
y = self.lhs.pop()
while y:
self.rhs.push(y)
return result