力扣原题
下面是我的源代码
class Solution():
#我们第一步先做一个函数,判断他们是否有公共前缀
def lcp(self, char1, char2):
#思路: 最长的那个字符是由字符长度最短的决定的
#1.先把最短的那个字符通过min函数找出来
min_char = min(char1, char2)
index_char = 0
#然后判断这个最短的字符是不是为空,如果是空的话就直接返回""
if not min_char:
return ""
#接下来这个while循环的目的是为了找出这两个字符公共部分的下表
while index_char < len(min_char) and char1[index_char] == char2[index_char]:
index_char += 1
return min_char[:index_char]
#最后返回最长公共前缀
#有了上面的函数我们只需要把strs里面的参数传入到上面的函数就能的得到最长公共前缀
def longestCommPrefix(self,strs):
#首先先判断这个列表是否为空
if not strs :
return ""
prefix=strs[0]
#prefix:前缀 先假设公共前缀是列表中第一个元素
for i in range(1,len(strs)):
然后拿第一个元素与其它元素作比较
prefix=self.lcp(prefix,strs[i])
#把每次公共的前缀赋值给prefix
return prefix#最后得到的prefix前缀就是遍历完列表后得到的公共前缀