最长公共前缀

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

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

 

示例 1:

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

示例 2:

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


代码如下:
class Solution:
    def longestCommonPrefix(self, strs: List[str]) -> str:

        pub_str = ""

        tmp_list = []
        min_len = min(len(i) for i in strs)
        # 逐个遍历 
        for epoch_i in range(min_len):
            for str_i in strs:
                tmp_list.append(str_i[epoch_i])
            # 用set来去重,如果相同元素,pub_str追加
            if len(list(set(tmp_list))) == 1:
                pub_str += tmp_list[0]
                tmp_list = []
        return pub_str

时间复杂度O(n2)

空间复杂度O(n)

 

备注:后面优化

posted @ 2024-05-24 11:09  TW-NLP  阅读(15)  评论(0编辑  收藏  举报