LeetCode|Day19|14. 最长公共前缀|Python刷题笔记

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:]:从第二个字符串开始遍历。

📌 返回总目录:点我回目录

相关推荐
C137的本贾尼8 小时前
MCP 完全指南:从零开始掌握模型上下文协议
人工智能·python
巴巴媛6668 小时前
STM32学习笔记【32.BKP + RTC】
笔记·stm32·学习
威联通安全存储9 小时前
SMT表面贴装线AOI检测网中TS-h2287XU-RP混合架构的物理部署
python·架构
能摆一天是一天9 小时前
Spring ai vectorstore 使用本地模型导致只能匹配可行度为1.0的内容的解决方法笔记
java·笔记·spring
大鱼>9 小时前
Scikit-learn Pipeline:构建可复用的 ML 流水线
python·机器学习·scikit-learn
闲猫9 小时前
深入理解 Skills:从 API 调用到智能体行为封装
人工智能·python·langchain
还是鼠鼠9 小时前
AI掘金头条新闻系统 (Toutiao News)-缓存相关推荐新闻
后端·python·mysql·fastapi·web
骑士雄师9 小时前
大模型:runnable
python·embedding
2401_868534789 小时前
系统分析师案例分析题常考知识点
python·计算机网络
进阶的DW9 小时前
Wiki + Graph + RAG 知识库建设笔记2
笔记