美文网首页
Q14 Longest Common Prefix

Q14 Longest Common Prefix

作者: 牛奶芝麻 | 来源:发表于2018-02-28 16:30 被阅读9次

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

解题思路:

依次取第一个字符串的各个字符,判断剩余字符串的前缀是否包含此字符,如果全部包含,则该字符为最长公共前缀的一员;否则,前缀到此结束。

Python实现:
class Solution:
    def longestCommonPrefix(self, strs):
        """
        :type strs: List[str]
        :rtype: str
        """
        lens = len(strs)
        if lens == 0:
            return ''
        if lens == 1:
            return strs[0]
        pre = ''
        for i in range(len(strs[0])):  
            ch = strs[0][i]  # 依次取第一个字符串的各个字符
            count = 0
            for j in range(1, lens): # 判断剩余字符串的前缀有没有包含此字符
                if len(strs[j]) > i and strs[j][i] == ch:  
                    count += 1
            if count == lens - 1:
                pre += ch
            else:
                return pre
        return pre

a = ['abc','ab','abcd','a']
b = Solution()
print(b.longestCommonPrefix(a))   # a

相关文章

网友评论

      本文标题:Q14 Longest Common Prefix

      本文链接:https://www.haomeiwen.com/subject/rbabzxtx.html