题目描述
编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 “”。
示例 1:
输入: ["flower","flow","flight"]
输出: "fl"
示例 2:
输入: ["dog","racecar","car"]
输出: ""
解释: 输入不存在公共前缀。
代码
思路:第一个和第二个比较,取出最大串,在用最大串和第三个比较,再继续比较…
def longestCommonPrefix(strs):
"""
:type strs: List[str]
:rtype: str
"""
if len(strs) == 0:
return ''
else:
p = strs[0]
if len(strs) > 1:
for i in range(1,len(strs)):
min_len = min([len(p),len(strs[i])])
for j in reversed(range(min_len+1)):
if p[:j] == strs[i][:j]:
p = p[:j]
break
if j == 0:
return ''
return p
else:
return strs[0]