LeetCode_Python(14)_最长公共前缀

需求

编写一个函数来查找字符串数组中的最长公共前缀。

说明
所有输入只包含小写字母 a-z 。
如果不存在公共前缀,返回空字符串 ""。

示例 1
输入: ["flower","flow","flight"]
输出: "fl"

示例 2
输入: ["dog","racecar","car"]
输出: ""
解释: 输入不存在公共前缀。

解决思路

  1. 查找数组中最短的元素;
  2. 对最短元素进行遍历,与数组中元素的组成字母进行对比,直到不相等时,返回当前最长的前缀,即为公共前缀。

参考代码

def get_prefix(strs):
    # 判断数组是否为空
    if not strs:
        return ''

    # 寻找长度最短的字符
    shortest = min(strs, key=len)

    # 遍历最短字符
    for key, letter in enumerate(shortest):
        for s in strs:
            if s[key] != letter:
                return shortest[:key]
    return shortest

a = ["flower","flow","flight"]
print(get_prefix(a))
fl

你可能感兴趣的:(LeetCode_Python(14)_最长公共前缀)