- 难度:
简单
- 本题涉及算法:
- 思路:
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() 函数
- 如果你也发现了,请为自己点赞,顺便为作者点赞👍支持
- 如果发现在别处也有类似的例题,请在下面👇评论区告诉作者
PREVIOUS15. 三数之和
NEXT13. 罗马数字转整数