LeetCode:(14. 最长公共前缀!!!!!)
发布日期:2021-05-08 02:38:00 浏览次数:20 分类:精选文章

本文共 860 字,大约阅读时间需要 2 分钟。

为了查找字符串数组中的最长公共前缀,我们可以使用Python中的zip()函数和集合的特性来简化实现过程。

方法思路

  • 检查输入:首先检查字符串数组是否为空,如果为空,直接返回空字符串。
  • 使用 zip 函数:将字符串数组中的每个字符位置组合成一个元组列表。zip(*strs)会生成一个迭代器,其中每个元素是一个位置上的所有字符组成的元组。
  • 遍历字符组:对于每个生成的字符组,检查其中所有字符是否相同。如果是,将该字符添加到结果字符串中;否则,停止遍历。
  • 返回结果:最终返回结果字符串,即最长公共前缀。
  • 这种方法利用了zip()函数的灵活性和集合的性质,能够简洁地处理字符串长度不一致的情况,并高效地找到最长公共前缀。

    解决代码

    from typing import List
    class Solution:
    def longestCommonPrefix(self, strs: List[str]) -> str:
    if not strs:
    return ""
    result = ""
    for chars in zip(*strs):
    if len(set(chars)) == 1:
    result += chars[0]
    else:
    break
    return result

    代码解释

    • 检查输入:首先检查strs是否为空,若为空则直接返回空字符串。
    • 初始化结果字符串result用于存储最长公共前缀。
    • 遍历每个字符位置:使用zip(*strs)生成每个字符位置的元组列表,并遍历每个元组。
    • 检查字符一致性:对于每个元组,使用集合去重,如果所有字符相同,则添加第一个字符到结果中;否则,停止循环。
    • 返回结果:最后返回result即最长公共前缀。

    这种方法简洁高效,能够处理各种情况,包括字符串长度不一致的情况。

    上一篇:Leetcode:1431. 拥有最多糖果的孩子。
    下一篇:Python中的val()函数!!!!

    发表评论

    最新留言

    关注你微信了!
    [***.104.42.241]2025年04月10日 12时37分50秒