美文网首页
5、最长公共前缀 leetcode14

5、最长公共前缀 leetcode14

作者: 九答 | 来源:发表于2020-04-02 09:43 被阅读0次

描述

description.png

思路:拿每个字符串和第一个字符串相比,不相等时(或字符位数超出其他字符串长度)返回前面的字符。
注意要考虑空数组和仅仅只有一个字符串的情况

class Solution:
    def longestCommonPrefix(self, strs: List[str]) -> str:
        if not strs: return ""
        for i in range(len(strs[0])):
            for j in strs[1:]:
                if i>=len(j) or j[i]!=strs[0][i]:
                    return strs[0][:i]
        return strs[0]

求公共字符时,python提供了一种更好的方案,set()。可以使用zip结合优化。其中set()创建一个无序不重复元素集,zip表示将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。zip(*)表示多为数组打包。

class Solution:
    def longestCommonPrefix(self, strs: List[str]) -> str:
        s = ""
        for i in zip(*strs):
            if len(set(i)) == 1:
                s = s+i[0]
            else:
                break
        return s

相关文章

  • 5、最长公共前缀 leetcode14

    描述 思路:拿每个字符串和第一个字符串相比,不相等时(或字符位数超出其他字符串长度)返回前面的字符。注意要考虑空数...

  • LeetCode14(最长公共前缀)

    题目: 解题思路 从前往后枚举字符串的每一列,先比较每个字符串相同列上的字符(即不同字符串相同下标的字符)然后再进...

  • leetcode14 最长公共前缀

    自己的解法 自己的解法就是先找出长度最短的字符串,然后以这个字符串为基准,去遍历其它字符串,看大家的前几位是否是相...

  • LeetCode 每日一题 [19] 最长公共前缀

    LeetCode 最长公共前缀 [简单] 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回...

  • 14. 最长公共前缀

    20180923-摘抄自14. 最长公共前缀 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,...

  • 5,最长公共前缀/数组与字符串

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

  • Swift 最长公共前缀 - LeetCode

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

  • leetcode探索之旅(14)

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

  • Leetcode 14 最长公共前缀

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

  • LeetCodeSwift 14.Longest Common

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

网友评论

      本文标题:5、最长公共前缀 leetcode14

      本文链接:https://www.haomeiwen.com/subject/ttnouhtx.html