Leetcode Link: 剑指 Offer 09. 用两个栈实现队列 - 力扣(LeetCode)
题目

本题只能用
pop()和append()操作,不能用列表的其它操作。
解法一
思路: 来回倒就行 辅助栈图解(Python3、C++) - 用两个栈实现队列 - 力扣(LeetCode)
题解:
class CQueue:
def __init__(self):
self.pop_stack = [] # 用来pop
self.append_stack = [] # 用来append
def appendTail(self, value: int) -> None:
if self.append_stack == []:
while(self.pop_stack):
self.append_stack.append(self.pop_stack.pop())
self.append_stack.append(value)
def deleteHead(self) -> int:
if not self.pop_stack and not self.append_stack:
return -1
if self.pop_stack == []:
while(self.append_stack):
self.pop_stack.append(self.append_stack.pop())
return self.pop_stack.pop()