题目:
编写一个函数来查找字符串数组中的最长公共前缀,如果不存在公公前缀,则返回空字符串“”。
示例:
输入:”flower“ “flow” ”flight“
输出;"fl"
输入:“dog" "racecar" "car"
输出:“”
思路:
第一步:令一个变量等于其中一个·的首字母,依次看后面的字符串是否也有,若没有跳出整层循环,若有计入数组中
第二步:在第一步过的情况下判断下一个字母,若是记入数组下一个元素,若否结束循环。。。。。。
第三步:输出数组即为最长公共前缀。
代码:
def longestCommonPrefix(strs):
if len(strs)==0:
return ''
elif len(strs)==1:
return strs[0]
else:
b=sorted(strs,key=lambda x:len(x))
s=''
s1=b[0]
for i,v in enumerate(s1):
l = []
for j in b[1:]:
l.append(v==j[i])
if all(l):
s+=v
else:
break
return s