Leecode:Longest Common Prefix

Questions:

Write a function to find the longest common prefix string amongst an array of strings.

python解法:

class Solution(object):
    def longestCommonPrefix(self, strs):
        """
        :type strs: List[str]
        :rtype: str
        """
        if len(strs)==0:#如果strs为空,则匹配为空
            return ""
        if len(strs)==1:#如果strs只有一个字符串,则匹配为该字符串本身
            return strs[0]
        if len(strs) > 1:#strs包含不只一个字符串
            LstrMin = min([len(item) for item in strs]) #前部最小公共字符串长度不超过字符串列表中最短字符串
            rstr = strs[0][:LstrMin]        #拿第一个字符串做比较
            for i in range(1,len(strs)):    #从第二个字符串开始,依次和前一个字符比较,匹配长度小于上次匹配的长度,如果发现一样,则更新匹配长度
                for j in range(LstrMin):
                    if(strs[i][j] !=rstr[j]):
                        LstrMin = j
                        rstr = rstr[:LstrMin]
                        break
            return rstr
                


评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值