编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串“” 输入:["flower","flow","flight"] 输出:"f1" 输入:["dog","racecar","car"] 输出:“” 解释:输入列表不存在公共前缀,返回"".
时间: 2023-07-05 09:20:00 浏览: 88
以下是一个 Python 函数,可以实现查找字符串数组中的最长公共前缀:
```python
def longestCommonPrefix(strs):
"""
:type strs: List[str]
:rtype: str
"""
if not strs:
return ""
# 取第一个字符串作为基准
prefix = strs[0]
# 遍历字符串数组中的其他字符串
for i in range(1, len(strs)):
# 如果当前字符串不以 prefix 为前缀,就不断缩短 prefix,直到 prefix 变成当前字符串的前缀
while not strs[i].startswith(prefix):
prefix = prefix[:-1]
if not prefix:
return ""
return prefix
```
在主程序中,可以这样调用该函数:
```python
strs = ["flower", "flow", "flight"]
print(longestCommonPrefix(strs)) # 输出 "fl"
strs = ["dog", "racecar", "car"]
print(longestCommonPrefix(strs)) # 输出 ""
```
该函数的思路是先取字符串数组中的第一个字符串作为基准,然后依次遍历其他字符串,不断缩短基准字符串的长度,直到它变成每个字符串的前缀为止。如果最终基准字符串为空,说明字符串数组中不存在公共前缀,返回空字符串。
阅读全文