思路:

  使用zip函数完成。

zip( [1,2,3],[1,2,3,4])

-->[(1,1), (2,2),  (3,3)]

 

再将每一项取出来进行去重,使用强制转set类型,可去重。

判断去重后,长度是否为1

如果为1, 则代表为公共前缀,加入到一个原本是空的string变量里面记录下来

如果不为1,则不是公共的,直接break

 

PS: 

* 的意思:  将list解开为几个list,本题中就是把每个字符串都变为个list

例如: ‘flu’ -->['f','l','u']

作用: 讲被修饰的实例变量或者可迭代对象进行拆分

 

 

代码:

 

class Solution:
    def longestCommonPrefix(self, strs: List[str]) -> str:
        s = ''
        
        for i in zip(*strs):
            if len(set(i)) == 1:
                s += i[0]
            else:
                break

        return s