14. Longest Common Prefix

来源:互联网 发布:手机淘宝怎么申请试用 编辑:程序博客网 时间:2024/06/07 13:23

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

思路:我的想法是找出最短字符串长度minst,然后设置它为最大搜索范围:

class Solution(object):    def longestCommonPrefix(self, strs):        """        :type strs: List[str]        :rtype: str        """        ans = ""        if not strs:            return ans        min_str = lambda a:len(a)        minst = min(map(min_str,strs))        for i in xrange(1,minst+1):            for j in xrange(len(strs)-1):                if strs[j][:i] != strs[j+1][:i]:                    return ans            ans = strs[0][:i]        return ans

这个参考代码更简单,但是运行时间上会更长一些:

class Solution(object):    def longestCommonPrefix(self, strs):        """        :type strs: List[str]        :rtype: str        """        if not strs:            return ""        for i in xrange(len(strs[0])):            for string in strs[1:]:                if i >= len(string) or string[i] != strs[0][i]:                    return strs[0][:i]        return strs[0]
0 0
原创粉丝点击