当前位置:实例文章 » HTML/CSS实例» [文章]LeetCode //14. Longest Common Prefix

LeetCode //14. Longest Common Prefix

发布人:shili8 发布时间:2025-02-11 07:52 阅读次数:0

**LeetCode14: 最长公共前缀**

### 题目描述给定一个字符串数组 `strs`,返回最长的公共前缀。

### 示例* 输入:`["flower","flow","flight"]`
输出: `"fl"`
* 输入:`["dog","racecar","car"]`
输出:`""`

### 思路这个问题可以使用暴力法来解决。我们可以通过比较每个字符串的前缀来找到最长公共前缀。

###代码实现

class Solution:
 def longestCommonPrefix(self, strs: List[str]) -> str:
 # 如果输入数组为空,则返回空字符串 if not strs:
 return ""

 # 初始化最长公共前缀为第一个字符串的前缀 prefix = strs[0]

 # 遍历剩余的字符串 for s in strs[1:]:
 # 将当前字符串与最长公共前缀进行比较 while not s.startswith(prefix):
 # 如果当前字符串不以最长公共前缀开头,则将最长公共前缀缩短为前两个字符 prefix = prefix[:len(prefix) //2]

 return prefix# 测试用例solution = Solution()
print(solution.longestCommonPrefix(["flower","flow","flight"])) # "fl"
print(solution.longestCommonPrefix(["dog","racecar","car"])) # ""


### 复杂度分析* 时间复杂度:O(N * M),其中 N 是输入数组的长度,M 是最长字符串的长度。
* 空间复杂度:O(1)

### 总结这个问题可以使用暴力法来解决。我们可以通过比较每个字符串的前缀来找到最长公共前缀。时间复杂度为 O(N * M),空间复杂度为 O(1)。

其他信息

其他资源

Top