题解 | #最长公共前缀#

最长公共前缀

https://www.nowcoder.com/practice/28eb3175488f4434a4a6207f6f484f47

#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 
# @param strs string字符串一维数组 
# @return string字符串
#
class Solution:
    def longestCommonPrefix(self , strs: List[str]) -> str:
        # 1.长度等于0,返回空
        if len(strs)==0:
            return ""
        # 2.长度等于1,返回本身
        elif len(strs)==1:
            return strs[0]
        # 3.长度大于2,先按照从小到大排序,然后根据第一个元素的每个字符逐个遍历,如果后面每个元素都遍历到,就累加到list1。最后把list1拼接成字符串返回
        else:
            # 数组按照长度排序
            strs1=sorted(strs,key=len)
            list1=[]
            for i in range(len(strs1[0])):
                temp=strs1[0][i]
                count=0
                for j in range(1,len(strs1)):
                    if temp==strs[j][i]:
                        count=count+1
                    if count==len(strs1)-1:
                        list1.append(strs1[j][i])
            strs2=''
            for i in list1:
                strs2=strs2+i
            return strs2


全部评论

相关推荐

下个早班:秒挂就是不缺人
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务