OD 算法题 B卷【最长公共前缀】

文章目录

  • 最长公共前缀

最长公共前缀

  • 编写一个函数来查找字符串数组 中的最长公共前缀,如果不存在公共前缀,返回字符串’@Zero’
  • 字符串长度范围【2,1000】,字符串中字符长度范围为【1,126】

示例1
输入:
[“flower”, “flow”, “flight”]
输出:
“fl”

python实现

  • 同最长公共后缀
  • 先初始化一个目标字符串(可以取第一个),跟后续第二个的字符串比较,获取到的公共前缀作为目标字符串,继续跟后续的字符串比较,直到结束;

string_arr = input().strip().replace("[", "").replace("]", "").replace('"', "").split(", ")

# 目标字符串
tgt_string = string_arr[0]

# 与数组中后续的字符串 比较
for i in range(1, len(string_arr)):
    cur_string = string_arr[i]
    temp = ""
    min_length = min(len(tgt_string), len(cur_string))
    for j in range(min_length):
        if tgt_string[j] == cur_string[j]:
            temp += tgt_string[j]

    # 比较结束后,目标字符串重新赋值
    tgt_string = temp
    if not temp:
        break

if tgt_string:
    print(f'"{tgt_string}"')
else:
    print(f'"@Zero"')
    

你可能感兴趣的:(OD 算法题 B卷【最长公共前缀】)