LeetCode 14. 最长公共前缀python3
原题链接
简单
作者:
xanxus1111
,
2020-06-08 14:07:58
,
所有人可见
,
阅读 586
class Solution:
def longestCommonPrefix(self, strs: List[str]) -> str:
#zip函数法
# ans = ''
# for i in zip(*strs):
# if len(set(i)) == 1: #如果一个元组去重长度是1那么说明对应位置是相同的
# ans += i[0] #在结果上加上当前的字符
# else: #如果不同,退出循环,返回结果
# break
# return ans
#双指针算法
if len(strs) == 0:return ''
min_len = len(strs[0])
#找到最短字符长度
for each in strs:
min_len = min(min_len,len(each))
ans = ''
#i是字符下标,j是字符串下标
for i in range(min_len): #从0遍历到最短字符串的长度
aim = strs[0][i] #取当前字符
for j in strs: #遍历所有字符串
if aim not in j[i]:return ans #如果当前字符不是所有字符串都有,那么返回之前结果
ans += aim #如果都有该字符,那么答案加上此字符
return ans