**描述 用两个栈来实现一个队列,分别完成在队列尾部插入整数(push)和在队列头部删除整数(pop)的功能。 队列中的元素为int类型。保证操作合法,即保证pop操作时队列内已有元素。
示例: 输入: ["PSH1","PSH2","POP","POP"] 返回: 1,2 解析: "PSH1":代表将1插入队列尾部 "PSH2":代表将2插入队列尾部 "POP“:代表删除一个元素,先进先出=>返回1 "POP“:代表删除一个元素,先进先出=>返回2**
- 插入队列时先插入一个队列,直到需要删除时,此时把第一个队列里的值全放入第二个队列里,再在第二个队列里执行删除
class Solution:
def __init__(self):
self.stack01 = []
self.stack02 = []
def push(self, node):
# write code here
self.stack01.append(node)
def pop(self):
if self.stack02:
return self.stack02.pop()
else:
while self.stack01:
self.stack02.append(self.stack01.pop())
return self.stack02.pop()