leetcode__14.最长公共前缀__python

解题思路:

题目比较简单,可以直接暴力求解,一次遍历即可找到答案,假设字符串的长度为m,列表的长度为n,则时间复杂度为O(n*m)。
但是感觉这里可以利用的数据结构的解法就是利用前缀树,这里就不用前缀树来解题,直接用第一种方法。

解题代码如下:

class Solution:
    def longestCommonPrefix(self, strs: List[str]) -> str:
        '''
        one traversing
        '''
        res = ''
        if len(strs) == 0:
            return res
        res = strs[0]
        if len(strs) == 1:
            return res
        for i in range(1, len(strs)):
            tmp = res
            res = ''
            for idx in range(min(len(strs[i]), len(tmp))):
                if tmp[idx] == strs[i][idx]:
                    res += tmp[idx]
                else:
                    break
        return res

提交结果:
leetcode__14.最长公共前缀__python_第1张图片

你可能感兴趣的:(leetcode,python)