class Solution:
def longestCommonPrefix(self, strs: List[str]) -> str:
if not strs:
return ""
#定义前缀为数组中第一个字符串,并计算数组长度赋值给count
prefix, count = strs[0], len(strs)
#遍历余下的数组元素
for i in range(1,count):
#通过lcp这个方法获取公共前缀,如果不存在公共前缀跳出循环
prefix = self.lcp(prefix,strs[i])
if not prefix:
break
return prefix
#将两个字符串最短长度赋值给length,index从0开始,相比较两个字符串,如果有公共前缀就继续比较,index<length,比较完之后返回两个字符串的公共前缀
def lcp(self,str1,str2):
length,index = min(len(str1),len(str2)),0
while index < length and str1[index] == str2[index]:
index+=1
return str1[:index]#这里返回str1[:index]和返回str2[:index]是一样的
力扣算法题:最长公共前缀-横向扫描
于 2022-04-23 16:53:36 首次发布