class Solution(object):
def longestCommonPrefix(self, strs):
"""
首先理解最长公共前缀:
普通解法:首先取第一个字符串做为比较目标,遍历所有字符串,只要遇到不相等就停止
"""
prefix = ''
i = 0
while True:
try:
tmp = strs[0][i]
for item in strs:
if item[i] != tmp:
print(prefix)
return prefix
except: #out of index range,表明遍历最短字符串完毕
return prefix
prefix += tmp
i += 1
return prefix
'''
第二种解法 zip方法的妙用
'''
def longestCommonPrefix_use_zip(self, strs):
prefix = ''
for item in zip(*strs):
if len(set(item)) > 1:
return prefix
else:
prefix += item[0]
return prefix
代码转自https://blog.csdn.net/github_37953781/article/details/73649713