编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 ""
。
示例 1: 输入: ["flower","flow","flight"] 输出: "fl" 示例 2: 输入: ["dog","racecar","car"] 输出: "" 解释: 输入不存在公共前缀。 说明: 所有输入只包含小写字母 a-z
代码思路:
相当于在一个二维数组里面横向查找。有点绕。
在这里有一个很有意思的处理方法,举个例子:s='abcd' s[2]='c' s[:2]="ab" 通过这种关系,巧妙地对比了不同地数,同时还输出了同样地数。
class Solution(object): def longestCommonPrefix(self, strs): """ :type strs: List[str] :rtype: str """ if not strs: return "" if len(strs)==1: return strs[0] minl=min([len(i) for i in strs]) endl=0 while endl < minl: for i in range(1,len(strs)): if strs[i][endl]!=strs[i-1][endl]: return strs[0][:endl] endl+=1 return strs[0][:endl]