编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 ""。
示例 1:
输入: ["flower","flow","flight"]
输出: "fl"
示例 2:
输入: ["dog","racecar","car"]
输出: ""
解释: 输入不存在公共前缀。
说明:
所有输入只包含小写字母 a-z 。
解析:
首先对所有的字符串进行排序,按照字符串的长度来排序。排序完成之后那么只需要寻找最小的字符串在所有字符串中是不是公共前缀即可。
python3代码:
def longestCommonPrefix(strs):
strs.sort(key = lambda i:len(i), reverse = False)
print(strs)
ret = ''
if len(strs) == 0:
return ret
if strs[0] == '':
return ret
for i in range(len(strs[0])):
for s in strs:
if strs[0][i] != s[i]:
return ret
ret += strs[0][i]
return ret
strs = []
strs.append("abab")
strs.append("aba")
strs.append("abc")
print(longestCommonPrefix(strs))