欢迎光临散文网 会员登陆 & 注册

查找字符串数组最长公共前缀

2023-08-11 15:24 作者:littersho  | 我要投稿

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中,所有元素共有的最长的前缀

查找字符串数组最长公共前缀的评论 (共 条)

分享到微博请遵守国家法律