14. Longest Common Prefix

来源:互联网 发布:微机原理接口编程题 编辑:程序博客网 时间:2024/06/06 01:08
class Solution(object):
    def longestCommonPrefix(self, strs):
        if len(strs)==0:
            return ""
        result=""
     
        s_len=len(strs[0])
        for l in strs:
            s_len=min(s_len,len(l))
     
        for i in range(s_len):
            ch=strs[0][i]
            for j in range(1,len(strs)):
                if strs[j][i]!=ch:
                    return result
            result+=ch
     

        return result

这个题的解法非常好,有几个小技巧。寻找数组中长度最小的字符串,按它的长度for循环进行比较。另外,从第二个字符串开始循环,比较是否和第一个字符串的同一位置是否相等。

几个疑问:

1.if后为什么没有else,这样会不会当strs为空时,仍然执行后面程序。

2.在不等于的情况下,return result代码会不会每次都执行啊?那岂不是返回很多“”。

3.resul+=ch对齐于第二个for循环,会不会不管前面相不相等都会执行这行代码呢?


原创粉丝点击