Q14 Longest Common Prefix

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
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容