leedcode-用佇列實現棧

Junior_bond發表於2024-03-15

利用內建的list

class MyStack:
    def __init__(self):
        # 初始化一個空列表用於儲存棧的元素
        self.li = list()

    def push(self, x: int) -> None:
        # 向棧中壓入元素 x
        self.li.append(x)

    def pop(self) -> int:
        # 從棧頂彈出元素
        if self.empty():  # 如果棧為空,則返回 None
            return None
        temp = self.li[-1]  # 獲取棧頂元素
        del self.li[-1]     # 刪除棧頂元素
        return temp         # 返回被彈出的元素

    def top(self) -> int:
        # 返回棧頂元素,不對棧做修改
        if self.empty():  # 如果棧為空,則返回 None
            return None
        return self.li[-1]  # 返回棧頂元素

    def empty(self) -> bool:
        # 判斷棧是否為空
        return len(self.li) == 0  # 返回棧的長度是否為 0,若為 0 則棧為空,否則不為空

相關文章