LeetCode|Day19|14. 最長公共前綴|Python刷題筆記
🗓? 本文屬于【LeetCode 簡單題百日計劃】系列
👉 點擊查看系列總目錄 >>
📌 題目簡介
題號:14. 最長公共前綴
難度:簡單
題目鏈接:點擊跳轉
🧾 題目描述(簡要)
編寫一個函數來查找字符串數組中的最長公共前綴。
如果不存在公共前綴,返回空字符串 ""
。
示例:
輸入:strs = ["flower","flow","flight"]
輸出:"fl"輸入:strs = ["dog","racecar","car"]
輸出:""
💡 解法:橫向掃描法
class Solution:def longestCommonPrefix(self, strs: list[str]) -> str:if not strs:return ""prefix = strs[0]for s in strs[1:]:while not s.startswith(prefix):prefix = prefix[:-1]if not prefix:return ""return prefix
🧠 我的理解
- 先假設第一個字符串是最長公共前綴;
- 然后遍歷后續字符串,不斷縮短
prefix
直到滿足s.startswith(prefix)
; - 如果中間被削減到空,說明沒有公共前綴。
📌 基礎語法復習:
s.startswith(prefix)
:判斷字符串是否以某前綴開頭;prefix[:-1]
:去掉最后一個字符;for s in strs[1:]
:從第二個字符串開始遍歷。