用两个栈实现队列
用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
class Solution:
def __init__(self):
self.in_stack = [] # 队列尾
self.out_stack = [] # 队列头
def __len__(self):
return len(self.in_stack) + len(self.out_stack)
def push(self, node):
self.in_stack.append(node)
def pop(self):
if not self.out_stack: # 队列头为空
self.out_stack = self.in_stack[::-1]
self.in_stack = []
return self.out_stack.pop()