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
相关推荐
我命由我123457 分钟前
Jetpack Room - Room 查询返回列表无需判空、LIKE 关键字
android·java·开发语言·java-ee·android jetpack·android-studio·android runtime
facaixxx202413 分钟前
雨云服务器区域选择终极指南:地域速度、节点带宽、延迟及防御说明
服务器·云服务器·雨云服务器·云服务器区域·云服务器地域·云服务器节点
小坏蛋至尊宝14 分钟前
如何优化文件传输的性能?
运维·服务器
平安的平安20 分钟前
传统Java工程师第一次用飞算JavaAI生成SpringBoot项目
java
csjane107924 分钟前
Redisson 限流原理
java·redis
一个做软件开发的牛马25 分钟前
MyBatis 从零实战:完整搭建可运行 Demo,注解与 XML 双模式开发详解
java·后端
小羽网安27 分钟前
2026年服务器安全防护实战:从被DDoS到完整防护体系搭建
服务器·安全·ddos
用户2986985301431 分钟前
Java 实践:查找与提取 Word 文档超链接
java·后端
Flittly31 分钟前
【AgentScope Java新手村系列】(9)SpringBoot集成
java·spring boot·spring
小欣加油38 分钟前
leetcode3612 用特殊操作处理字符串I
数据结构·c++·算法·leetcode·职场和发展