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 @ 2023-07-24 16:00  天才九少  阅读(26)  评论(0)    收藏  举报