14. 最长公共前缀

  • 难度简单
  • 本题涉及算法
  • 思路zip
  • 类似题型:

题目 14. 最长公共前缀

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

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

示例 1:

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

示例 2:

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

说明:

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

方法一 zip合并

  • 解题思路
    • 使用 zip 根据字符串下标合并成数组,
    • 判断合并后数组里元素是否都相同
  • 复杂度分析
    • 时间复杂度 $O(N)$ ,$N$ 表示数组中最短字符串长度
    • 空间复杂度 $O(1)$ ,使用的变量为自然数个
class Solution(object):
    def longestCommonPrefix(self, strs):
        ans = ''
        for i in zip(*strs):
            if len(set(i)) == 1:
                ans += i[0]
            else:
                break
        return ans
  • 这个例子是 菜鸟编程 里关于 zip函数 介绍 Python zip() 函数
  • 如果你也发现了,请为自己点赞,顺便为作者点赞👍支持
  • 如果发现在别处也有类似的例题,请在下面👇评论区告诉作者