Write a function to find the longest common prefix string amongst an array of strings.
写一个方法返回一个字符串数组的最长公共前缀。
公共前缀子串,那每个字符串肯定都包含有,并且在头部。
把数组中最短的字符串作为默认的公共子串,然后依次与每一个字符串对比,计算所有的最大匹配长度。
class Solution(object):
def longestCommonPrefix(self, strs):
"""
:type strs: List[str]
:rtype: str
"""
#如果数组为空,则直接返回
if not strs:
return ''
#取值数组中最短的字符串,不然第一个for循环可能会越界
first = min(strs)
for i in range(len(first)):
#依次和数组中每个字符串做对比
for str in strs:
if str[i] != first[i]:
#返回能匹配上的最大值
return first[:i] if i > 0 else ''
return first
return first[:i] if i > 0 else ''
"""
python中没有类似C语言的三元条件表达式condition ? true_part : false_part,虽然Python没有三目运算符(?:),但有类似的替代方案,那就是true_part if condition else false_part。
"""