Leetcode14 longest-common-prefix

最长公共前缀

题目描述:

编写一个函数来查找字符串数组中的最长公共前缀。

如果不存在公共前缀,返回空字符串 ""

示例 1:

输入: ["flower","flow","flight"]
输出: "fl"</pre>

示例 2:

输入: ["dog","racecar","car"]
输出: ""
解释: 输入不存在公共前缀。</pre>

说明:

所有输入只包含小写字母 a-z


解题思路:

考虑如果字符串长度大于一,可以从最小长度的字符串的首位开始进行对比遍历,用一个指针来表示在此之前的字符是满足要求。遍历每一个字符串,用指针对应的字符与与基准字符串中相应的字符比较,如果不同则前面的子字符串就是所要求的结果;如果全都相同,则指针右移。如果最短字符串结束,则循环立即结束。


Python源码:

class Solution(object):
    def longestCommonPrefix(self, strs: List[str]) -> str:
        if not strs:
            return ""
        short = min(strs)
        for i in range(len(short)):
            for str in strs:
                if short[i] != str[i]:
                    return short[:i]

欢迎关注我的github:https://github.com/UESTCYangHR

猜你喜欢

转载自blog.csdn.net/dzkdyhr1208/article/details/89137212
今日推荐