最长公共前缀代码实现
时间: 2024-10-13 10:11:55 浏览: 22
Python实现查找字符串数组最长公共前缀示例
最长公共前缀(Longest Common Prefix, LCP)是指给定一组字符串列表,找到所有字符串共享的最小子串。这个子串通常是最短的,同时能作为所有输入字符串的一个公共部分。它的常见应用场景包括文件名匹配、数据压缩等。
实现LCP的一种常见算法是通过比较每个字符,从第一个字符串开始,如果所有的字符串都在当前位置有相同的字符,就记录下这个字符;然后移动到下一个字符串,继续这个过程,直到遇到不同的字符或者遍历完所有字符串。这里的关键在于需要有一个数组或变量来保存每个位置是否为公共前缀的一部分,当遇到不同的字符时停止更新。
以下是Python的一个简单示例:
```python
def longest_common_prefix(strs):
if not strs:
return ""
shortest_str = min(strs, key=len)
for i, char in enumerate(shortest_str):
for other in strs:
if other[i] != char:
return shortest_str[:i]
return shortest_str
# 测试例子
strs = ["flower", "flow", "flight"]
print(longest_common_prefix(strs)) # 输出: "fl"
```
阅读全文