Leetcode 14. 最长公共前缀

编写一个函数来查找字符串数组中的最长公共前缀。

如果不存在公共前缀,返回空字符串 ""。

示例 1:

复制代码
输入:strs = ["flower","flow","flight"]
输出:"fl"

示例 2:

复制代码
输入:strs = ["dog","racecar","car"]
输出:""
解释:输入不存在公共前缀。

提示:

  • 1 <= strs.length <= 200
  • 0 <= strs[i].length <= 200
  • strs[i] 如果非空,则仅由小写英文字母组成
python 复制代码
class Solution:
    def longestCommonPrefix(self, strs: List[str]) -> str:
        m_length = len(strs)//统计有多少字符串
        blank_s = ""//定义空串
        if(blank_s in strs)://若有空串,则直接返回空串
            return blank_s
        if(m_length==1)://若只有一个字符串,则直接返回该字符串
            return strs[0]
        first_str = strs[0]//若有两个及以上非空字符串,则以第一个字符串为比较对象,其余为被比较对象
        n_length = len(first_str)
        target_str = ""//定义空字符串,方便后面将重复字符串依次拼接
        for i in range(n_length):
            cnt = 0//计数器
            for j in range(1,m_length)://第二个开始比较
                compared_str = strs[j]
                k_length = len(compared_str)
                if((i<k_length) and (first_str[i]==compared_str[i]))://下标超过被比较串,则截止
                    cnt += 1
            if(cnt==(m_length-1)):
                target_str = target_str + first_str[i]
            else:
                return target_str
        return target_str
相关推荐
AI你一生一世2 小时前
不止于时序存储:DolphinDB 如何成为 AI 时代的工业智能底座
java·人工智能·struts·时序数据库·工业智能·dolphindb·ai基础设施
云-缩影2 小时前
拆解 AI 图像生成应用的后端架构:ECS、OSS 和大模型 API 怎么配合
java·spring boot·后端
瑞克-桑切斯3 小时前
7、MySQL 慢查询排查与优化实战指南
java·服务器·数据库
vibecode4 小时前
网站服务器失去响应怎么解决?我把连接超时和读超时这两段计时拆开跑了一遍
运维·服务器
迪康Defender6 小时前
终端供应链安全:应用白名单与软件正版化检测落地|终端安全治理实践
运维·服务器·网络·安全·web安全·自动化·运维开发
沫璃染墨7 小时前
从零入门计算机网络系列(十二):HTTP长连接与会话管理详解——从Connection到Cookie与Session
linux·服务器·c++·tcp/ip·ubuntu·http·交互
海的透彻7 小时前
dockerfile如何快速构建容器(java服务)
java·开发语言
code2cat7 小时前
Java工具篇之Gradle:用任务图组织构建与交付
java·开发语言·单元测试·gradle
后台模板学习8 小时前
大模型 Prompt 工程在电商订单系统中的踩坑记录
java·python·prompt
w_zero_one8 小时前
算法--构造
java·数据结构·算法