从Python的字符串列表中找到最长的公共前缀的程序
假设我们有一个小写字符串列表,我们必须找到最长的公共前缀。
因此,如果输入类似于[“ antivirus”,“逆时针”,“ antigravity”],则输出将为“ anti”
为了解决这个问题,我们将遵循以下步骤-
按字母顺序对列表中的单词进行排序
前缀:=一个新列表
标志:= 0
对于范围在0到字[0]大小之间的i,执行
从循环中出来
如果j [i]与前缀的最后一个元素不同,则
从前缀中删除最后一个元素
标志:= 1
从循环中出来
对于每个单词j,
如果标志与1相同,则
连接前缀数组中存在的所有元素后返回字符串
让我们看下面的实现以更好地理解-
示例
class Solution:def solve(self, words):
words.sort()
prefix = []
flag = 0
for i in range(len(words[0])):
prefix.append(words[0][i])
for j in words:
if j[i] != prefix[-1]:
prefix.pop()
flag = 1
break
if flag == 1:
break
return ''.join(prefix)
ob = Solution()
words = ["antivirus", "anticlockwise", "antigravity"]
print(ob.solve(words))
输入值
["antivirus", "anticlockwise", "antigravity"]
输出结果
anti
以上是 从Python的字符串列表中找到最长的公共前缀的程序 的全部内容, 来源链接: utcz.com/z/343644.html