每日一题力扣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

 

posted @ 2021-03-13 14:50  小千北同学超爱写代码  阅读(79)  评论(0编辑  收藏  举报