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
相关推荐
数智化管理手记8 小时前
海量数据如何沉淀有效数据资产?数据标准化治理方案如何搭建?
java·大数据·人工智能
半夏微凉半夏殇8 小时前
x11与weston对比,优先选哪个
leetcode·均值算法·eclipse
隔窗听雨眠8 小时前
GBase 8s并发控制深度解析:封锁机制、隔离级别与死锁处理全攻略
服务器·数据库·oracle
cfm_29148 小时前
SpringAI + Ollama 本地大模型
java·开发语言·人工智能·语言模型
鲸采云SRM采购管理系统9 小时前
采购管理系统哪家好?2026最新测评对比
java·服务器·数据库
那年窗外下的雪.10 小时前
AIDC 学习日志 第 04 天 BGP Underlay 基础与路由选择
服务器·学习·php
0x5310 小时前
Java网络编程(二)
java·服务器·网络
Flittly10 小时前
【雕虫大技】Agent 动态 Skill 供应链安全加固(三):输出校验与治理闭环实战
java·spring boot·spring
Poo_Chai10 小时前
QT emit信号后完整处理流程,包括槽函数响应流程
java·开发语言·数据库
瑞码空间10 小时前
Java 图形界面(GUI)完整知识点手册
java·开发语言·图形界面·swing