题目描述:编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 ""
。
题目分析:
因为是公共前缀,所以可以拿一个字串当参照不断和其比对,只要有一个不是则返回空集。
写一个子函数进行两个字串比对
class Solution:
def longestCommonPrefix(self, strs: List[str]) -> str:
if not strs:
return ""
#以第一个为参照
pre,length=strs[0],len(strs)
for i in range(1,length):
pre=self.cop(pre,strs[i])
if not pre:
break
return pre
#两个子串进行比对
def cop(self, str1,str2):
length,index=min(len(str1),len(str2)),0
while index<length and str1[index]==str2[index]:
index+=1
return str1[:index]