def longest_common_prefix:# 让用户输入字符串数组words = input("请输入字符串数组(用逗号分隔): ").split(",")if not words:print("@Zero")return# 取最短字符串,避免索引越界prefix = words[0]for word in words[1:]:while not word.startswith(prefix):prefix = prefix[:-1] # 去掉最后一个字符,缩短前缀if not prefix:print("@Zero")returnprint(f"最长公共前缀: {prefix}")# 运行程序longest_common_prefix摘要:def longest_common_prefix:# 让用户输入字符串数组words = input("请输入字符串数组(用逗号分隔): ").split(",")if not words:print("@Zero")return# 取最短字符串,避免索引越
1.特殊情况处理:如果输入数组为空或只有一个字符串,直接返回该字符串或 "@Zero"。
以第一个字符串作为基准。逐个字符与其他字符串比较。如果发现不匹配的字符,立即停止并返回当前已匹配的前缀。3.返回结果:如果找到公共前缀则返回,否则返回 "@Zero"。
来源:露露课堂