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 分钟前
Linux性能调优使用strace来分析文件系统的性能问题
linux·运维·服务器
SimonKing20 分钟前
你的IDEA还缺什么?我离不开的这两款效率插件推荐
java·后端·程序员
better_liang27 分钟前
每日Java面试场景题知识点之-数据库连接池配置优化
java·性能优化·面试题·hikaricp·数据库连接池·企业级开发
Wpa.wk33 分钟前
自动化测试环境配置-java+python
java·开发语言·python·测试工具·自动化
qinyia36 分钟前
WisdomSSH解决因未使用Docker资源导致的磁盘空间不足问题
运维·服务器·人工智能·后端·docker·ssh·github
w***42439 分钟前
springboot使用logback自定义日志
java·spring boot·logback
带刺的坐椅40 分钟前
AI 应用工作流:LangGraph 和 Solon AI Flow,我该选谁?
java·python·ai·solon·flow·langgraph
北郭guo42 分钟前
MyBatis框架讲解,工作原理、核心内容、如何实现【从浅入深】让你看完这篇文档对于MyBatis的理解更加深入
java·数据库·mybatis
庄宿正42 分钟前
【Vue2+SpringBoot+SM2】Vue2 + Spring Boot 实现 SM2 双向非对称加密完整实战
java·spring boot·后端