从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

    回到顶部