编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 ""
。
示例 1:
输入: ["flower","flow","flight"] 输出: "fl"
示例 2:
输入: ["dog","racecar","car"] 输出: "" 解释: 输入不存在公共前缀。
说明:
所有输入只包含小写字母
a-z
。
#!/usr/bin/python3
# -*- coding: utf-8 -*-
# @Time: 2018/6/26
# @Author: xfLi
def longestCommonPrefix(strs): #找到最小长度的字符串,进行比较
"""
:type strs: List[str]
:rtype: str
"""
if not strs: #输入空值
return ""
else:
min_strs = strs[0]
for sub_str in strs: #找到最小长度的字符串
if len(min_strs) > len(sub_str):
min_strs = sub_str
for i in range(len(min_strs)):
for sub_str in strs:
if sub_str[i] != min_strs[i]: #逐一比较3个前缀,直到判断出不同,返回前i个
return min_strs[:i]
break
return min_strs
if __name__ == '__main__':
strs = ["dog","racecar","car"]
result = longestCommonPrefix(strs)
print(result)