编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串,用python写代码
时间: 2024-12-12 07:19:39 浏览: 13
Python实现查找字符串数组最长公共前缀示例
5星 · 资源好评率100%
你可以编写一个Python函数,如下所示:
```python
def longest_common_prefix(strs):
if not strs: # 判断数组是否为空
return ""
shortest_str = min(strs, key=len) # 找到最短的字符串
for i in range(len(shortest_str)):
char = shortest_str[i]
for string in strs:
if string[i] != char: # 如果某个字符串在这个位置不等于最短字符串的字符,就退出循环
break
else: # 如果所有字符串都匹配到当前位置,说明这个字符是公共前缀的一部分,继续下一位
continue
# 如果有字符串在当前位置不匹配,返回已找到的部分作为公共前缀
return shortest_str[:i]
# 如果遍历完最短字符串都没有找到不匹配的,整个字符串就是最长公共前缀
return shortest_str
# 示例用法
strings = ["flower", "flow", "flight"]
print(longest_common_prefix(strings)) # 输出: "fl"
```
这个函数首先找到数组中最短的字符串,然后逐字符比较每个字符串的对应位置。如果所有字符串都在当前位上有相同的字符,就更新公共前缀;如果有任何一个字符串在该位置不同,就停止比较并返回已经找到的公共前缀。如果遍历完整个最短字符串都没找到不匹配的,那么整个最短字符串就是最长公共前缀。
阅读全文