【LeetCode】14. 最长公共前缀

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

如果不存在公共前缀,返回空字符串 ""

示例 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)

猜你喜欢

转载自blog.csdn.net/qq_30159015/article/details/80835808