最长公共前缀问题是一个经典的字符串处理问题。给定一个字符串数组,找出其中最长的公共前缀。
示例
假设我们有以下字符串数组:
["flower","flow","flight"]
我们可以得出最长的公共前缀是 "fl"
。
解决方法
这里提供一个简单的解决方案,我们可以使用横向扫描法:
- 如果字符串数组为空,则返回空字符串。
- 找出字符串数组中最短的字符串。
- 使用最短的字符串的前缀与数组中其他字符串的前缀进行比较。
- 如果所有字符串都以相同的字符开头,则将前缀长度加一,并继续比较下一个字符。
- 如果遇到不同的字符,则返回当前的最长公共前缀。
以下是一个简单的 Python 代码示例:
def longestCommonPrefix(strs):
if not strs:
return ""
shortest = min(strs, key=len)
for i, char in enumerate(shortest):
for other in strs:
if other[i] != char:
return shortest[:i]
return shortest
扩展阅读
更多关于字符串处理的算法,可以参考本站的 字符串处理算法教程。
图片展示
Flower