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

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

相关推荐
Logintern098 分钟前
Celery 的底层架构正是进程池、事件循环、epoll 和协程全部组合在了一起
python·架构·消息队列·进程·celery·事件循环
盖伦发发14 分钟前
RAG 能跑≠能用:用 EDD 把 Eval 做成基础设施 (附源码)
人工智能·后端·python·功能测试
不会代码的小猴16 分钟前
4. 控件学习2
开发语言·c++·笔记·qt
郝学胜_神的一滴34 分钟前
Python 高级编程 028:字典dict从入门到精通
python·ai编程
weixin_BYSJ198739 分钟前
springboot小区物业管理小程序---附源码45555
java·javascript·spring boot·python·django·flask·php
210Brian2 小时前
STM32学习笔记(七)TIM定时中断(上)
笔记·stm32·学习
a-6262 小时前
三维重建的步骤-1(采集的是环绕物体均匀旋转一圈的视频)
python·pycharm·三维重建·metashape
Navigator_Z2 小时前
LeetCode //C - 1203. Sort Items by Groups Respecting Dependencies
c语言·算法·leetcode
qq_22589174662 小时前
基于Flask的空气质量监测与预测分析系统
开发语言·后端·python·信息可视化·django·flask
fasdgfgsdha56942 小时前
西乡塘代理记账哪家好
笔记