0
点赞
收藏
分享

微信扫一扫

LeetCode 14.最长公共前缀

题目:

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

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

示例 1:

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

示例 2:

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

代码:

class Solution(object):
    def longestCommonPrefix(self, strs):
        min_str = float('inf')
        obj_str = None
        same_str = ''
        for i in range(len(strs)):
            if len(strs[i]) < min_str:
                min_str = len(strs[i])
                obj_str = i
        for i in range(len(strs[obj_str])):
            count = 0
            for j in range(len(strs)):
                if strs[obj_str][i] == strs[j][i]:
                    count += 1
                else:
                    return same_str
            if count == len(strs):
                same_str += strs[obj_str][i]
        return same_str

思路:先找出最短的一个字符串,然后用这个最短的字符串的每个字符去一个一个对比。这是我的第一解决思路,代码还能优化,先这样吧。提交是通过了。

举报

相关推荐

0 条评论