【LEETCODE】14-Longest Common Prefix

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


题意:

找到字符串数组中的各个字符串最长的公共前缀


思路:

以 strs[0] 为参照,j 遍历 strs[0] 的长度,i 遍历 strs 的每个 str 进行比较,是否 j 位上的字符一样

不一样则跳出


class Solution(object):
    def longestCommonPrefix(self, strs):
        """
        :type strs: List[str]
        :rtype: str
        """
        
        r=''
        #i=0
        if strs==[] or strs==['']:
            return ''
        
        for j in range(len(strs[0])):
            i=0                             #i在内循环初始化
            while i+1<len(strs):            #如果i,j不满足while的条件,则里面if的return也无法执行,直接跳到 r+=strs[0][j],当然会答案错误
                if j>=len(strs[i]) or j>=len(strs[i+1]):      #总超界,忘了加等号了
                    return r
                elif strs[i][j]!=strs[i+1][j]:
                    return r
                else:
                    i+=1
            r+=strs[0][j]
        
        return r



Input:
["a"]
Output:
["a"]
Expected:
"a"

所以:

r='' 

r+=strs[0][j]

而不是:

r=[]

r.append(strs[0][j])


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值