用两个栈实现队列
题目描述
用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
代码:
# -*- coding:utf-8 -*-
class Solution:
def __init__(self):
self.stack1 = []
self.stack2 = []
def push(self, node):
# write code here
if len(self.stack1)==0:
self.stack1.append(node)
else:
while(len(self.stack1)):
p = self.stack1[-1]
self.stack1.pop(-1)
self.stack2.append(p)
self.stack1.append(node)
while(len(self.stack2)):
p = self.stack2[-1]
self.stack2.pop(-1)
self.stack1.append(p)
def pop(self):
# return xx
if len(self.stack1):
p = self.stack1[-1]
self.stack1.pop(-1)
return p
else:
return None