栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

14.python 最长公共前缀

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

14.python 最长公共前缀

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

解题思路:这道题我们要判断前缀,只需要判断最短的一个字符串的匹配长度,用zip函数一个一个匹配然后判断是否重复就行

示例 1:

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

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

代码:

# -*- coding: utf-8 -*-
# @Author  : Liqiju
# @Time    : 2022/3/9 16:45
# @File    : algorithm_test.py
# @Software: PyCharm 
class Solution:
    def longestCommonPrefix(self, strs: list) -> str:
        """
        :type strs: List[str]
        :rtype: str
        """
        res = ""  #定义一个空字符串存结果
        if len(strs) == 0:
            return ""
        for tuples in zip(*strs):  # zip()函数将原列表解压
            if len(set(tuples)) == 1:  # 利用集合判断是不是每个元素都相同
                res += tuples[0] #相同的就连接在一起
            else: #否则直接返回
                return res
s = Solution()
print(s.longestCommonPrefix(["flower", "flow", "flight"]))

在这里复习一下zip()函数的作用,或移步Python zip()函数。

strs = ["flower", "flow", "flight"]
for tuples in zip(*strs):
    print(tuples)

输出

('f', 'f', 'f')
('l', 'l', 'l')
('o', 'o', 'i')
('w', 'w', 'g')

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/766952.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号