题目描述

示例

思路
方法一:横向扫描
写一个lcp函数,找两个字符串的最长公共前缀。依次遍历字符串数组中的每个字符串,对于每个遍历到的字符串,更新最长公共前缀,遍历完之后,就得到整个字符串数组的最长公共前缀。当遍历的过程中,最长公共前缀被更新成空时,即说明整个数组都不会存在最长公共前缀,直接返回空字符串。

class Solution:
def longestCommonPrefix(self, strs: List[str]) -> str:
if not strs:
return ''
# 初始化前缀prefix
prefix , count = strs[0], len(strs)
for i in range(1, count):
prefix = self.lcp(prefix, strs[i])
# 如果中途前缀为空了,则说明不存在公共前缀
if not prefix:
return ''
return prefix
def lcp(self, str1, str2):
length =</

这篇博客详细介绍了LeetCode第14题——寻找字符串数组的最长公共前缀,提出了四种解决方案:横向扫描、纵向扫描、分治和二分查找,并对每种方法进行了详细解释。
最低0.47元/天 解锁文章
456

被折叠的 条评论
为什么被折叠?



