每日leetcode(7)
14.最长公共前缀,如下图
这道题一开始没什么特别好的办法,直接暴力循环吧,先判断前两个,得到公共前缀s,如果是’'则返回,否则循环调用函数findu(),函数里找到最短的字符长度,循环判断每个元素是否相同,代码如下
class Solution():
def longestCommonPrefix(self,strs):
if not strs:return ''
if len(strs)==1:
return strs[0]
s=''
s=self.findu(strs[0],strs[1])
if s=='':
return s
for i in range(2,len(strs)):
s=self.findu(strs[i],s)
if s=='':return s
return s
def findu(self,s1,s2):
s1=str(s1)
s2=str(s2)
l=min(len(s1),len(s2))
s=''
for i in range(l):
if s1[i]==s2[i]:
s+=s1[i]
else:
return s
return s