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())
两个队列实现一个栈
最新推荐文章于 2021-05-23 12:12:07 发布