难度:简单

知识点:字符串

地址:https://leetcode-cn.com/problems/longest-common-prefix/

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

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

示例 1:

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

示例 2:

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

说明:

所有输入只包含小写字母 a-z 。
In [ ]:
class Solution:
    def longestCommonPrefix(self, strs) -> str:
        strs.sort(key = lambda x: len(x))
        res = strs[0]
        i = len(res)
        while i >= 0:
            for s in strs[1:]:
                if not s.startswith(res[:i]):
                    i -= 1
                    break
        if i < 0:
            return ''
        return res[:i]
                
        

s = Solution()
assert s.longestCommonPrefix(["flower","flow","flight"]) == 'fl'
assert s.longestCommonPrefix(["dog","racecar","car"]) == ''