每日一题力扣14

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

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

class Solution:
    def longestCommonPrefix(self, strs: List[str]) -> str:
        if not strs:
            return ''
        count=len(strs)#数组的长度,即其中有多少个字符串
        prefix=strs[0]#第一个字符串
        for i in range(1,count):
            prefix=self.lcp(prefix,strs[i])#用第一个字符串依次和后面的比较
            if not prefix:
                break
        return prefix
    def lcp(self,str1,str2):#注意一下函数
        index=0
        length=min(len(str1),len(str2))
        while index<length and str1[index]==str2[index]:
            index+=1
        return str1[:index]#不包括index

利用python特性

class Solution:
    def longestCommonPrefix(self, strs: List[str]) -> str:
        if not strs:
            return ''
        s1=min(strs)
        s2=max(strs)
        for i,x in enumerate(s1):
            if x!=s2[:i]:
                return s2[:i]
        return s1
原文地址:https://www.cnblogs.com/liuxiangyan/p/14528788.html