题目说明
解题思路:
首先找出列表中最短的字符串,以该长度作为最长公共前缀的最大值str_len_min,从str_len_min到0遍历,依次从列表中拿出对应长度的字符串,比较它们是不是相同,如果相同则返回该字符串,该字符串就是最长公共前缀,不然继续向后遍历,知道遍历到0或者找到最长公共前缀为止。
代码实现:
class Solution:
def longestCommonPrefix(self, strs: List[str]) -> str:
str_len_min = 9999999
len_strs = len(strs)
for i in range(len(strs)):
if str_len_min > len(strs[i]):
str_len_min = len(strs[i])
j = str_len_min
if len_strs == 0:
return ''
while j > 0:
strs_0 = strs[0][0:j]
strs_temp = [str1[0:j] for str1 in strs]
j_len = len([str1 for str1 in strs_temp if strs_0 in str1])
if j_len == len_strs:
return strs_0
j = j - 1
return ''