class TwoQueueOneStack(object):
def __init__(self):
self.queue1 = []
self.queue2 = []
def push(self,item):
#正常进队列1
self.queue1.append(item)
def pop(self):
#弹出时,把队列1中元素取出到只剩一个为止,放到队里2中
#队列1和2交换为止
#弹出队列2中的元素
if len(self.queue1)==0:
return None
while len(self.queue1) !=1:
self.queue2.append(self.queue1.pop(0))
self.queue1,self.queue2 = self.queue2,self.queue1
return self.queue2.pop(0)
stack = TwoQueueOneStack()
stack.push(1)
stack.push(2)
stack.push(3)
stack.push(4)
stack.push(5)
print(stack.pop())
print(stack.pop())
print(stack.pop())
print(stack.pop())
stack.push(6)
print(stack.pop())
print(stack.pop())