编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 ""
。
示例 1:
输入: ["flower","flow","flight"] 输出: "fl"
示例 2:
输入: ["dog","racecar","car"] 输出: "" 解释: 输入不存在公共前缀。
说明:
所有输入只包含小写字母 a-z
。
最长公共前缀指的是字符串数组中所有公共最长的前缀。
如果是空串的话,那么说明前缀就是“”
如果都是以“ ”开头的,那么就是“ ”
然后最长的前缀不会超过最短的字符串,那么可以遍历最短的字符串的长度,依次比较。
第一步:找出长度最短的字符串;
第二步:依次与长度最短的字符串比较。
class Solution():
def longestCommonPrefix(self,strs):
if not str:
return ""
if len(strs)==1:
return strs[0]
minl=min([len(x) for x in strs])
end=0
while end<minl:
for i in range(0,len(strs)-1):
if strs[i][end]!=strs[i+1][end]:
return strs[0][:end]
end+=1
return strs[0][:end]
try1=Solution()
strs=['sdj','sdsa','sd']
print(try1.longestCommonPrefix(strs))