题目:
力扣官方代码
class Solution(object):
# 最新的公共字符串头str1
# 第(i+1)个字符串
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]
# 参数:字符串集合
def longestCommonPrefix(self, strs):
"""
:type strs: List[str]
:rtype: str
"""
# 判断字符串集合是否为空
if not strs:
return ""
# 第一个字符串prefix
# 字符串的个数count
prefix, count = strs[0], len(strs)
# 遍历从第二个字符串到最后一个字符串
for i in range(1, count):
# 更新公共字符串头
prefix = self.lcp(prefix, strs[i])
# 如果公共头为空,提前结束遍历
if not prefix:
break
return prefix