编写一个函数来查找字符串数组中的最长公共前缀,使用python实现
时间: 2023-09-13 13:06:18 浏览: 136
可以使用纵向比较的方法来解决这个问题。具体的实现如下:
```python
def longest_common_prefix(strs):
if not strs:
return ""
# 遍历第一个字符串的每个字符
for i in range(len(strs[0])):
char = strs[0][i]
# 遍历其他字符串,比较对应位置的字符
for j in range(1, len(strs)):
# 如果其他字符串长度不够或者对应位置的字符不相等,返回当前的最长公共前缀
if i >= len(strs[j]) or strs[j][i] != char:
return strs[0][:i]
return strs[0]
```
这里首先判断输入的字符串数组是否为空,如果为空则直接返回空字符串。然后从第一个字符串开始,逐个字符进行比较。对于第一个字符串的每个字符,在其他字符串中进行对应位置的字符比较。如果其他字符串长度不够或者对应位置的字符不相等,就返回当前的最长公共前缀。如果遍历完了第一个字符串的所有字符,仍然没有返回最长公共前缀,说明第一个字符串就是最长公共前缀。
你可以调用 `longest_common_prefix` 函数并传入一个字符串数组来测试它的功能。例如:
```python
strs = ["flower", "flow", "flight"]
result = longest_common_prefix(strs)
print(result) # 输出:"fl"
```
这里的最长公共前缀是 "fl"。
阅读全文