欢迎光临
我们一直在努力

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

"""
公共前缀
查找字符串数组中的最长公共前缀,
如果不存在公共前缀,返回空字符串。
"""

def is_same(index, char, string_list):
    """
    检查字符串列表中的所有字符串是否在给定索引处具有相同的字符。

    参数:
    index -- 字符串中要检查的索引位置
    char -- 要比较的字符
    string_list -- 字符串列表

    返回:
    如果所有字符串在索引处的字符都相同,则返回True;否则返回False。
    """
    for item in string_list:
        if index >= len(item):
            # 如果索引超出任一字符串的长度,说明后续字符无法比较,直接返回False
            return False
        if char != item[index]:
            # 如果任一字符串在索引处的字符与char不同,返回False
            return False
    return True

def get_max_prefix(string_list):
    """
    获取字符串列表中所有字符串的最长公共前缀。

    参数:
    string_list -- 字符串列表

    返回:
    最长公共前缀字符串。
    """
    if len(string_list) == 0:
        # 如果列表为空,直接返回空字符串
        return ""
    prefix_list = []
    base_word = string_list[0]
    for index, item in enumerate(base_word):
        if is_same(index, item, string_list):
            # 如果当前字符是所有字符串在相同索引处的公共字符,添加到前缀列表中
            prefix_list.append(item)
        else:
            # 如果当前字符不是所有字符串的公共字符,结束循环
            break
    return "".join(prefix_list)

arr = ["flower", "flow", "flight", "flight", "flouoisn"]
print(get_max_prefix(arr))

赞(0) 打赏
未经允许不得转载:创想未来 » 公共前缀:查找字符串数组中的最长公共前缀

评论 抢沙发

评论前必须登录!

 

更好的Python学习

支持快讯、专题、百度收录推送、人机验证、多级分类筛选器,适用于垂直站点、科技博客、个人站,扁平化设计、简洁白色、超多功能配置、会员中心、直达链接、文章图片弹窗、自动缩略图等...

联系我们联系我们

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫

登录

找回密码

注册