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
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容