虽然代码非常垃圾,写的还是个简单的用了很长时间,但是总归是内存和时间方面没有太差,
果然是暴力法,在下面补上使用了zip(),set(),以及简便if-else的方法
class Solution:
def longestCommonPrefix(self, strs: List[str]) -> str:
str_teshu=""
for idx,i in enumerate(strs):
# ii=max(i-1,0)
if idx==0:
str_teshu=i
length=min(len(str_teshu),len(i))
b=0
for j in range(length):
if str_teshu[j]==i[j]:
b+=1
else:
break
if b==0:
return ""
break
str_teshu=i[0:b]
return str_teshu
zip():可以提取列表中元素的共同部分生成新的列表
set():可以将列表里的内容变为集合,如果有重复,那么就会合并为一个
return a if strs else"":这个方法使得判断是否为空变得更加简单
class Solution:
def longestCommonPrefix(self, strs: List[str]) -> str:
index=0
for i in zip(*strs):
if len(set(i))==1:
index+=1
else:
break
return strs[0][0:index] if strs else ""