014 longestPublicPrefix

题目描述

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

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

示例 1:

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

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

代码

思路:第一个和第二个比较,取出最大串,在用最大串和第三个比较,再继续比较…

def longestCommonPrefix(strs):
    """
    :type strs: List[str]
    :rtype: str
    """
    if len(strs) == 0:
        return ''
    else:
        p = strs[0]
        if len(strs) > 1:
            for i in range(1,len(strs)):
                min_len = min([len(p),len(strs[i])])
                for j in reversed(range(min_len+1)):
                    if p[:j] == strs[i][:j]:
                        p = p[:j]
                        break
                    if j == 0:
                        return ''
            return p
        else:
            return strs[0]

猜你喜欢

转载自blog.csdn.net/double___you/article/details/80423204
014