首页 > 代码库 > Longest Common Prefix

Longest Common Prefix

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

分析:

对一组字符串找到最长公共前缀。

因为只是找前缀所以可以以第一个字符串为基础,按个字符与其它字符串比较,直到有字符串已经遍历完或者碰到不一致的字符,返回到当前为止第一个字符串的前缀即可。

class Solution:    # @return a string    def longestCommonPrefix(self, strs):        if not strs or not strs[0]:            return ""        first = strs[0]        for i in range(len(first)):            for s in strs[1:]:                if i >= len(s) or s[i] != first[i]:                    return first[:i]        return firstif __name__ == __main__:    s = Solution()    assert s.longestCommonPrefix([]) == ""    assert s.longestCommonPrefix([""]) == ""    assert s.longestCommonPrefix(["a", "b"]) == ""    assert s.longestCommonPrefix(["aa", "aa"]) == "aa"    print PASS

小结:

这个问题比较简单,也没有太多程序编写上的陷阱,按直觉解法写出代码就可以Accepted。

Longest Common Prefix