14,最长公共前缀

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

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

示例1:

输入:strs = ["flower","flow","flight"]
输出:"fl"

示例2:

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

解题思路

 

复制代码
class Solution:
    def longestCommonPrefix(self,strs):
        def lcp(str1,str2):
            index = 0 # 指针
            min_len = min(len(str1),len(str2))    # 取两个字符串的最小长度
            # 将前两个的最长公共前缀取完
            while index < min_len and str1[index] == str2[index]:
                index += 1
            return str1[:index]
        if not strs:
            return ""
        prefix = strs[0]    # 取列表第一个字符串
        for i in range(1, len(strs)):    # 将第一个字符串和后面的字符串比较
            prefix = lcp(prefix, strs[i])    # 更新第一个字符串
            if not prefix:
                break
        return prefix       
复制代码

 

posted @   天才九少  阅读(9)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
点击右上角即可分享
微信分享提示