Python 最长公共前缀

编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 ""
所有输入只包含小写字母 a-z

1、

class Solution(object):
    def longestCommonPrefix(self, strs):
        if not strs:
            return ""
        for i in range(len(strs[0])):
            for string in strs[1:]:
                if i >= len(string) or strs[0][i] != string[i]:
                    return strs[0][:i]
        # 特殊情况[""]有一个为空元素
        return strs[0]

2、利用集合去重的原理

class Solution(object):
    def longestCommonPrefix(self, strs):
        result = ""
        i = 0
        while True:
            try:
                sets = set(string[i] for string in strs)
                if len(sets)==1:
                    result += sets.pop()
                    i += 1
                else:
                    break
            except Exception as e:
                break
        return result
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 有人说,人一定要做自己喜欢的事情,不然你这一生都不能取悦自己。 从小就看到妈妈织毛衣,所以小时候自己也拿起棒针,学...
    玻璃心的小白兔阅读 319评论 1 0
  • 有好久没有关注自己有多少简书钻了,只是写,没去比较,没空投票。今天看下42.536!想刚开始的时候0钻,借10钻,...
    棋萱阅读 271评论 0 4
  • 当下,还在以减肥瘦成杆为目标的姑娘们 她,已经拥有马甲线 和翘臀 体重,永远只是一个数字,她不能代表你的身材是否完...
    一只文化喵喵阅读 297评论 0 0
  • MissDan的学生阅读 142评论 0 0