题目描述
用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
# -*- coding:utf-8 -*-
# 栈A用来作入队列,栈B用来出队列,当栈B为空时,栈A全部出栈到栈B,栈B再出栈(即出队列)
class CQueue:
def __init__(self):
self.stack1=[]
self.stack2=[]
def appendTail(self, value: int) -> None:
self.stack1.append(value)
def deleteHead(self) -> int:
if self.stack2:
return self.stack2.pop()
if not self.stack2:
if not self.stack1:
return -1
else:
while self.stack1:
self.stack2.append(self.stack1.pop())
return self.stack2.pop()
本文介绍了一种使用两个栈来实现队列的方法,通过将一个栈用于入队操作,另一个栈用于出队操作,实现了队列的基本功能。当出队栈为空时,入队栈中的所有元素会被转移到出队栈,以便进行出队操作。
511

被折叠的 条评论
为什么被折叠?



