剑指 Offer 09. 用两个栈实现队列
class CQueue:
def __init__(self):
self.A, self.B = [], [] # 两个栈,A输入,B输出
def appendTail(self, value: int) -> None:
self.A.append(value)
def deleteHead(self) -> int:
if self.B: return self.B.pop() # 如果B中有元素,直接把B的最后一个元素输出
if not self.A: return -1 # 若A,B中均没有元素,deleteHead 操作返回 -1
while self.A: # 若A中有元素,把A中元素,全部加到B中,然后输出B的最后一个元素,即A的第一个元素
self.B.append(self.A.pop())
return self.B.pop()