zoukankan      html  css  js  c++  java
  • 【LeetCode】14. 最长公共前缀

    题目

    编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 ""。

    示例 1:输入: ["flower","flow","flight"]
    输出: "fl"
    示例 2:输入: ["dog","racecar","car"]
    输出: ""
    解释: 输入不存在公共前缀。

    说明:所有输入只包含小写字母 a-z 。

    思路

    审题:公共,前缀(注意,我刚开始搞成了相同的公共字符长度)

    思想:对所有字符串中对应位置的每个字符进行比较去重
    核心代码
    list(map(set, zip(*strs)))

    理解

    代码

    class Solution:
        def longestCommonPrefix(self, strs: List[str]) -> str:
            if not strs:
                return ""
            ss = list(map(set, zip(*strs)))
            res = ""
            for i, x in enumerate(ss):
                x = list(x)
                if len(x) > 1:
                    break
                res += x[0]
            return res
    
  • 相关阅读:
    【洛谷P2660烤鸡】
    cogs448
    排队打水
    洛谷U36590搬书
    NOIP2012借教室
    归并排序模版
    NOIP2015神奇的幻方
    NOIP2006能量项链
    NOIP2003加分二叉树
    NOI1995石子合并&多种石子合并
  • 原文地址:https://www.cnblogs.com/wemo/p/10760991.html
Copyright © 2011-2022 走看看