题目

力扣 2021.02.25 最长公共前缀

要点

其实本题是找所有一个列表中所有元素的公共子集,也就是最小是空集(""),最大是最短元素。那我们则需要比较最小长度的元素和最大长度的元素,看它们有多少相同。

解题

class Solution:
    def longestCommonPrefix(self, strs: List[str]) -> str:
        if not strs: return ""               #如果没有元素,返回空集
        min_letter = min(strs)               #最小元素
        max_letter = max(strs)               #最大元素
        for i, x in enumerate(min_letter):
            if x != max_letter[i]:
                return min_letter[:i]        #返回最小元素的最大子集长度
        return min_letter                    #最大元素的一部分和最小元素全部相等时,返回最小元素

复杂度

时间复杂度:O(min_letter)
空间复杂度: O(n)

相关文章:

猜你喜欢
  • 2021-05-07
  • 2022-12-23
  • 2021-11-11
  • 2021-06-06
相关资源
相似解决方案