leetcode知識點記錄
阿新 • • 發佈:2021-07-21
20.有效的括號
- 棧
- 是一種線性的資料結構
- 操作規則:
- 只能從一端新增和移除元素--棧頂
- 另一段是限制操作的--棧底
- 資料管理模式:LIFO後進先出(Last In First Out)
- 常用操作:
- 儲存資料,稱為“入棧”或“壓棧”(push)
- 提取提取,稱為“出棧”或“彈棧”(pop)
- 實現:
- 通常可用陣列或連結串列實現
- 例:功能需求: 建立一個 Stack 類,具備以下功能:
- Stack() - 建立新棧,不需要引數,返回空棧。
- push(item) - 將元素新增到棧頂,需要引數,無返回值。
- pop() - 刪除棧頂元素,不需要引數,返回棧頂元素,並修改棧的內容。
- peek() - 返回棧頂元素,不需要引數,不修改棧的內容。
- isEmpty() - 檢查棧是否為空,不需要引數,返回布林值
- size() - 返回棧中元素個數,不需要引數,返回整數
- 棧與列表的對應操作:
- 程式碼:
class Stack: def __init__(self): self.stack = [] self.size = 0 def push(self, item): self.stack.append(item) # 新增元素 self.size += 1 # 棧元素數量加 1 def pop(self): pop = self.stack.pop() #