题目描述
示例
思路
方法一:横向扫描
写一个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)<