首页 > 其他 > 详细

最长公共前缀

时间:2020-07-27 12:55:07      阅读:89      评论:0      收藏:0      [点我收藏+]

编写一个函数来查找字符串数组中的最长公共前缀。

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

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

利用python的Zip函数,zip()函数接受一系列可迭代对象作为参数,将不同对象中相对应的元素打包成一个元组(tuple),返回由这些元组组成的list列表,如果传入的参数的长度不等,则返回的list列表的长度和传入参数中最短对象的长度相同。举例说明:

x = [1,2,3,4,5]
y = [a,b,c,d]
xy = zip(x,y)
print xy
for a,b in zip(x,y):
    print a
    print b

输出:

[(1, a), (2, b), (3, c), (4, d)]
1
a
2
b
3
c
4
d

zip(*iterable)使用说明:

ll = ["flower", "flow", "flqwe"]
zip(*ll)   返回的结果是什么呢?

1、*xx 在调用函数的时候是解包作用,因此:*ll ==> "flower", "flow", "flqwe"
2、 zip(*ll) ==> zip("flower", "flow", "flqwe")这跟zip(a, b)没什么两样

则本题的解法可以用zip函数结合set实现:

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

 

最长公共前缀

原文:https://www.cnblogs.com/xiao-longxia/p/13384089.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!