LeetCode|Day19|14. 最长公共前缀|Python刷题笔记
🗓️ 本文属于【LeetCode 简单题百日计划】系列
📌 题目简介
题号:14. 最长公共前缀
难度:简单
题目链接:点击跳转
🧾 题目描述(简要)
编写一个函数来查找字符串数组中的最长公共前缀 。
如果不存在公共前缀,返回空字符串 ""
。
示例:
输入:strs = ["flower","flow","flight"]
输出:"fl"
输入:strs = ["dog","racecar","car"]
输出:""
💡 解法:横向扫描法
python
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:]
:从第二个字符串开始遍历。