Write a function to find the longest common prefix string amongst an array of strings.
先寻找到数组中最短的字符串,然后一个一个比较,如果不符合,就减少一个最后的重新比较
class Solution:
# @return a string
def longestCommonPrefix(self, strs):
if strs==[]:#数组是空,返回空字符串
return ''
else:
l=len(strs[0])
base=strs[0]
for i in strs:
if l>len(i):
l=len(i)#记录最短长度
base=i#最短字符串
while base!='':#如果最短字符串不是空,就继续循环
for i in strs:
if i.startswith(base)==False:#如果字符串不是以最短字符串开始的
base=base[0:l-1]#最短字符串减去最后一个
l-=1#长度减一
break#终止for循环,重新进入while循环,比较新的最短字符串
else:#如果for循环没有被break,也就是说所有字符串都是以最短字符串开始的,那么就表示找到了
return base
return ''
本文介绍了一种算法,用于在一组字符串中找到最长的公共前缀。通过首先确定最短字符串并逐步缩小比较范围,该算法有效地解决了字符串匹配问题。
288

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



