题目:

编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 ""。

  • 示例 1:
    输入: ["flower","flow","flight"]
    输出: "fl"
  • 示例 2:
    输入: ["dog","racecar","car"]
    输出: ""
    解释: 输入不存在公共前缀。
    说明: 所有输入只包含小写字母 a-z 。

代码:

class Solution( ):    def longestCommonPrefix(self, strs):        """        :type strs: List[str]        :rtype: str        """        res = '        # 排除特殊情况        if len(strs) == 0:            return res        if len(strs) == 1:            return strs[0]        min_length = len(strs[0])        # 找到最短的字符串,确定循环次数        for i in range(1, len(strs)):            if len(strs[i]) < min_length:                min_length = len(strs[i])                for i in range(min_length):            tmp_char = strs[0][i]            # 用每个字符串的第i个元素和第0个字符串的第i个元素对比            for j in range(1, len(strs)):                # 不等则清除tmp_char并结束                if strs[j][i] != tmp_char:                        tmp_char = ""            if tmp_char == "":                break            res += tmp_char        return res

自己写的太烂了,cp个范例。。。

本文链接:时光不写博客-最长公共前缀

收藏 打印