最长公共前缀

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

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

 

示例 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 @   TW-NLP  阅读(16)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示