用 Python 编写的程序,从字符串列表中查找最长公共前缀
pythonserver side programmingprogramming更新于 2026/1/10 21:32:17
假设我们有一个小写字符串列表,我们必须找到最长的公共前缀。
因此,如果输入为 ["antivirus", "anticlock", "antigravity"],则输出为 "anti"
要解决这个问题,我们将遵循以下步骤 −
按字母顺序对列表单词进行排序
- 前缀 := 新列表
- 标志 := 0
- 对于范围为 0 到 words[0] 大小的 i,执行
- 对于 words 中的每个 j,执行
- 如果 j[i] 与前缀的最后一个元素不同,则
- 从前缀中删除最后一个元素
- flag := 1
- 退出循环
- 如果 j[i] 与前缀的最后一个元素不同,则
- 如果 flag 与 1 相同,则
- 退出循环
- 对于 words 中的每个 j,执行
- 连接前缀数组中存在的所有元素后返回字符串
让我们看看下面的实现以便更好地理解 −
示例
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 参考教程 - 该教程包含有关 python 的更多信息:https://www.cainiaomax.com/python/

