查找字符串数组最长公共前缀
1)
思路:可以先找到前两个字符的公共前缀,再跟第三个进行对比,这样遍历完整个数组
两个字符串间,用下标去对比,先对比第一个位置,相同在比较下一个,直到不同
返回切片到这个位置的数据即可
一,首先,两个字符串进行对比(内部小循环)
Def lcp(str1,str2):
Min_len = min(len(str1), len(str2))
For index in range(0,Min_len):
If str1[index]== str2[index]:
Index += 1
Return str1[,index]
二,外部大循环,排除特殊情况
if not strs:
return ''#如果字符串为空,直接返回空
三,外部大循环,两个字符串对比的结果继续与下一个字符对比
Prefix=strs[0]
For i in range(1,len(strs)):
Prefix = lcp(Prefix ,str[i])
If not prefix:
Break
Return Prefix
2)系统中有现成的接口是现实这个功能
os.path.commonprefix(
list
)
返回list中,所有元素共有的最长的前缀