python:剑指 Offer 09. 用两个栈实现队列

python:剑指 Offer 09. 用两个栈实现队列

草稿
python:剑指 Offer 09. 用两个栈实现队列_第1张图片

class CQueue:

    def __init__(self):
        self.stk_in = []
        self.stk_out = []

    def appendTail(self, value: int) -> None:
        self.stk_in.append(value)

    def deleteHead(self) -> int:
        # 俩个if 顺序是不能变化的
        if self.stk_out == []:
            while self_out != []:
                self.self_out.append(self.stk_in.pop())
        
        if self.self_out != []:
            return self.self_out.pop()
        else return -1

示例

输入:
["CQueue","appendTail","deleteHead","deleteHead"]
[[],[3],[],[]]
输出:[null,null,3,-1]

输入:
["CQueue","deleteHead","appendTail","appendTail","deleteHead","deleteHead"]
[[],[],[5],[2],[],[]]
输出:[null,-1,null,null,5,2]

你可能感兴趣的:(算法,算法)