看错最长公共前缀(公共前缀更简单)
class Solution:
def longestCommonPrefix(self, strs: List[str]) -> str:
def twoCommonPrefix(strs1: str,strs2: str):
le1 =len(strs1)
le2 = len(strs2)
maxNum = 0
p = 0
record = [[0 for i in range(le2+1)] for j in range(le1+1)]
for i in range(le1):
for j in range(le2):
if strs1[i]==strs2[j]:
record[i+1][j+1] = record[i][j]+1
if record[i+1][j+1] > maxNum:
maxNum = record[i+1][j+1]
p = i
if maxNum==0:
return ""
else:
return strs1[p+1-maxNum:p+1]
n = len(strs)
if n == 0:
return ""
elif n==1:
return strs[0]
re = twoCommonPrefix(strs[0],strs[1])
for i in range(2,n):
re = twoCommonPrefix(strs[i],re)
return re