题目描述
用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
解答
第一个栈用来进行入栈操作。
第二个栈进行出栈操作。
当第二个栈为空时,将第一个栈的元素全部倒序加到第二个栈里面。
# coding:utf-8
class Solution:
def __init__(self):
self.l1 = []
self.l2 = []
def push(self, node):
# write code here
self.l1.append(node)
def pop(self):
if self.l2 == []:
while self.l1:
self.l2.append(self.l1.pop())
if self.l2 == []:
return "空"
else:
return self.l2.pop()
s = Solution()
s.push(1)
s.push(2)
s.push(3)
print s.pop()
print s.pop()
s.push(4)
print s.pop()
print s.pop()
print s.pop()
print s.pop()
结束!