美文网首页
2018-06-14 LeetCode14

2018-06-14 LeetCode14

作者: Betrayer丶 | 来源:发表于2018-06-14 17:56 被阅读0次

题目描述

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

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

示例 2:

输入: ["dog","racecar","car"]
输出: ""
解释: 输入不存在公共前缀。

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

我的解法

首先判断字符串数组是否为空,然后选择最短的字符串长度作为外层循环,选择字符串个数作为内层循环,再进行依次比较。

class Solution:
    def longestCommonPrefix(self, strs):
        """
        :type strs: List[str]
        :rtype: str
        """
        if len(strs) == 0:
            return ""
        length=len(strs[0])
        prefix=""
        # Search the shortest str
        for item in strs:
            if len(item) < length:
                length=len(item)
        # Find the longest prefix
        for i in range(length):
            pre=strs[0][i]
            for item in strs:
                if item[i] != pre:
                    return prefix
            prefix=prefix+pre
        return prefix

最优解法

关键点:使用sort()函数,只比较第一个和最后一个字符串的公共开头子串,减少了比较的次数。

class Solution:
    def longestCommonPrefix(self, strs):
        """
        :type strs: List[str]
        :rtype: str
        """
        # 排序后比较首尾两个就好
        if len(strs) == 0:
            return ""
        strs.sort()
        result = ""
        for i in range(len(strs[0])):
            if strs[0][i] != strs[-1][i]:
                return result
            result += strs[0][i]
        return result

相关文章

  • 2018-06-14 LeetCode14

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

  • LeetCode14 - longestCommonPrefix

    题目: 代码:

  • 具备均衡的人格

    2018-06-14 (稻盛哲学学习会)打卡...

  • 为什么所有的婆媳关系都有矛盾,原因在这里?

    晓悠悠 2018-06-14 23:48 · 字数 757 · 阅读 0 · 日记本 从古至今,身边的朋友,机几乎...

  • 日精进打卡(第342天)

    2018-06-14 姓名:李义 公司:........ 组别:259期利他二组 【知~学习】 背诵 六项精进大纲...

  • LeetCode14(最长公共前缀)

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

  • leetcode14 最长公共前缀

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

  • 2018-06-14

    2018-06-14· 字数 476· 阅读 105· 日记本 姓名:周富强 公司:厦门大科机械有限公司 日精进打...

  • 2-4-1 ScrollView

    标注:本文为个人整理,仅做自己学习参考使用,请勿转载和转发2018-06-14: 初稿。终于到了View的相关组件...

  • 践行精进日记115天

    2018-06-14 【每日精进打卡第115天】 姓名:眭红艳 公司:绿山墙养心养生 349期《六项精进》学员 一...

网友评论

      本文标题:2018-06-14 LeetCode14

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