美文网首页
[2021-09-13][简单][NC55]最长公共前缀

[2021-09-13][简单][NC55]最长公共前缀

作者: 许忠慧 | 来源:发表于2021-09-13 18:25 被阅读0次

题目来源牛客网

描述
给你一个长度为 n 的字符串数组 strs , 编写一个函数来查找字符串数组中的最长公共前缀,返回这个公共前缀。

例如

输入:["abca","abc","abca","abc","abcc"]
返回值:"abc"

解题思路:
1、先解决特殊情况:
当列表长度为0时,直接返回空
当列表长度为1时,直接返回列表内唯一元素
2、找出最短元素的长度(如果最短元素长度为0则直接返回空字符串)
3、从下标0开始,遍历每一个列表元素对应下标的值,如果相等,则记录该值,下标+1继续遍历。
4、遍历结束返回记录内容

class Solution:
    def longestCommonPrefix(self , strs ):
        sl = len(strs)
        if sl == 0: return ""    # 列表长度为0直接返回空字符串
        if sl == 1: return strs[0]    # 列表长度为1返回唯一元素
        
        lmins = min([len(s) for s in strs])    # 找出最短元素的长度
        if lmins == 0: return ""    # 列表最短元素长度为0直接返回空字符串
        
        result = ""
        for i in range(lmins):
            flag = strs[0][i]   # 循环遍历任意元素的每一个长度在最短长度内的值
            if all([s[i] == flag for s in strs]):   # 列表存放的是每一次判断的布偶值,用一个all函数可以进行筛选,只要列表中有false则返回flase。                
                result = result + flag  # 输出字符串后追加该值
        return result

相关文章

  • [2021-09-13][简单][NC55]最长公共前缀

    题目来源牛客网[https://www.nowcoder.com/practice/28eb3175488f443...

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

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

  • 14.最长公共前缀

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

  • LeetCode-14 最长公共前缀

    题目:14. 最长公共前缀 难度:简单 分类:字符串 解决方案:字符串遍历 今天我们学习第14题最长公共前缀,这是...

  • 14. 最长公共前缀

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

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

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

  • Swift 最长公共前缀 - LeetCode

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

  • leetcode探索之旅(14)

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

  • Leetcode 14 最长公共前缀

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

  • LeetCodeSwift 14.Longest Common

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

网友评论

      本文标题:[2021-09-13][简单][NC55]最长公共前缀

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