[leetcode] Longest Common Prefix @ Python

Source: https://oj.leetcode.com/problems/longest-common-prefix/

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

Hint:   strs=['abc','ab','a']

strs=[

'abc',

'ab',

'a',

]

We can think of strs as a column length varied matrix

 

 

class Solution:
    # @return a string
    def longestCommonPrefix(self, strs):
        #横向扫描,每个字符串与第0 个字符串,从左到右比较,直到遇到一个不匹配,
        #然后继续下一个字符串
        #时间复杂度O(n1+n2+...)
        if len(strs) == 0: return ""
        minL = min([len(word) for word in strs])
        for j in range(minL):
            for i in range(1, len(strs)):
                if strs[i][j] != strs[0][j]:
                    return strs[0][:j]
        return strs[0][:minL]

 

posted on 2014-10-13 22:33  AIDasr  阅读(732)  评论(0编辑  收藏  举报

导航