**描述 用两个栈来实现一个队列,分别完成在队列尾部插入整数(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()