当前位置 博文首页 > 向日葵的专属太阳:LeetCode14. 最长公共前缀

    向日葵的专属太阳:LeetCode14. 最长公共前缀

    作者:[db:作者] 时间:2021-08-13 22:03

    题目来源:力扣(LeetCode)


    题目描述:
    编写一个函数来查找字符串数组中的最长公共前缀

    如果不存在公共前缀,返回空字符串 ""


    示例1:

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

    示例2:

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

    提示:

    • 0 <= strs.length <= 200
    • 0 <= strs[i].length <= 200
    • strs[i] 仅由小写英文字母组成

    解题思路:
    巧妙使用 python 中的特性,使用 解包zip() 函数和组合,即可获得每个字符串对应索引的字符组成的元组。
    具体可以看看下面的示例。
    这样我们只需要判断每个元组的集合元素长度是否唯一,如果是就将该字符保存。

    >>> strs = ["flower","flow","flight"]
    >>> for column in zip(*strs):
    	print(column)
    
    	
    ('f', 'f', 'f')
    ('l', 'l', 'l')
    ('o', 'o', 'i')
    ('w', 'w', 'g')
    
    class Solution(object):
        def longestCommonPrefix(self, strs):
            """
            :type strs: List[str]
            :rtype: str
            """
            rst = ''
            for column in zip(*strs):
                temp_set = set(column) 
                if len(temp_set) == 1:
                    rst += column[0]
                else:
                    break
            return rst
    

    在这里插入图片描述

    cs
    下一篇:没有了