14. Longest Common Prefix

1. 原始题目

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

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

示例 1:

输入: ["flower","flow","flight"]
输出: "fl"

示例 2:

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

说明:

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

 

2. 解法

思路:任选一个串作为参考串,然后以该串前几部分依次作为模板和后面的串比较,如果不同则返回,相同则比较更长的子串。

 1 class Solution:
 2     def longestCommonPrefix(self, strs):
 3          if strs==[]: return ""
 4          s = ''
 5          k=0
 6          str = strs[0]       # 第一个串作为参考
 7          for i in range(1,len(str)+1):      # 遍历该串的长度
 8              temp = str[k:k+i]
 9              for e in strs[1:]:
10                  if e[k:k+i] != temp:       # 如果不相等则返回上一次的结果 
11                      return s 
12              s = temp
13          return s

 

posted @ 2019-04-09 22:09  三年一梦  阅读(260)  评论(0编辑  收藏  举报