14. 最长公共前缀
2022年11月13日
一、问题描述
编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 “”。
示例 1:
输入:strs = ["flower","flow","flight"]
输出:"fl"
示例 2:
输入:strs = ["dog","racecar","car"]
输出:""
解释:输入不存在公共前缀。
提示:
1 <= strs.length <= 200
0 <= strs[i].length <= 200
strs[i] 仅由小写英文字母组成
二、问题分析
- 算法思路如下:
三、解题代码
class Solution(object):
def longestCommonPrefix(self, strs):
"""
:type strs: List[str]
:rtype: str
"""
res = []
num = len(strs)
for i in range(len(strs[0])):
ch = strs[0][i]
for j in range(1, num):
if len(strs[j]) == i or strs[j][i] != ch:
return strs[0][:i]
res.append(ch)
return strs[0]
总结
并行扫描所有字符串,当发现不符合公共前缀的时候,返回之前识别到的公共前缀。