在 LeetCode 中,"最长公共前缀" 是一个经典的编程问题。这个问题旨在找出给定字符串数组中的最长公共前缀。

问题描述

假设你有若干个字符串,你需要找出其中最长的公共前缀。

示例:

输入:["flower","flow","flight"]
输出:"fl"

解决方法

解决这个问题的方法有很多,以下是一些常见的思路:

  1. 横向比较法:从第一个字符串开始,逐个字符与其他字符串进行比较,直到找到一个不匹配的字符。
  2. 纵向比较法:从第一个字符开始,逐个字符比较所有字符串,直到找到一个不同的字符。

代码示例

以下是一个使用横向比较法的 Python 代码示例:

def longestCommonPrefix(strs):
    if not strs:
        return ""
    
    prefix = strs[0]
    for s in strs[1:]:
        while not s.startswith(prefix):
            prefix = prefix[:-1]
            if not prefix:
                return ""
    return prefix

扩展阅读

如果你对这个问题感兴趣,可以进一步阅读以下内容:

图片

programming_concept