Python数据结构与算法_最长公共前缀(05)

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

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

 

示例 1:

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


示例 2:

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

所有输入只包含小写字母 a-z 。

 

class Solution:
    def longestCommonPrefix(self,strs):
        if len(strs) == 0:
            return ""
        else:
            if len(strs) == 1:
                if len(strs[0]) == 0:
                    return ""
                else:
                    return strs[0]
            else:
                shortest_length = min([len(i) for i in strs])
                if shortest_length == 0:
                    return ""
                else:
                    first_str = strs[0]
                    lcp = ""
                    for i in range(shortest_length):
                        for j in range(1,len(strs)):
                            if strs[j][i] != first_str[i]:
                                return lcp
                        lcp += first_str[i]
                    return lcp

 

posted @ 2020-10-12 00:31  止一  阅读(109)  评论(0编辑  收藏  举报