返回公共前缀abc,[“abca“,“abc9“,“abcf“,“abc8“,“abcc“]

返回公共前缀abc,[“abca”,“abc9”,“abcf”,“abc8”,“abcc”]

#返回公共前缀abc,["abca","abc9","abcf","abc8","abcc"]
def longestCommonPrefix(strs):
    if not strs:
        return ""
    # 以第一个字符串为初始前缀
    prefix = strs[0]
    for s in strs[1:]:
        # 逐个字符比较,缩短前缀直到匹配当前字符串的前缀
        while not s.startswith(prefix):
            prefix = prefix[:-1]
            print('prefix:',prefix)
            # 若前缀为空,直接返回
            if not prefix:
                return ""
    return prefix

# 测试用例
strs = ["abca","abc9","abcf","abc8","abcc"]
print(longestCommonPrefix(strs))  # 输出:"abc"

在这里插入图片描述
prefix[:-1] 切片,比如list[1,6]一般不包含最后一个元素
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值