method 1: 便于理解
# method 1 : better
class Solution:
def longestCommonPrefix(self, strs: List[str]) -> str:
prefix = strs[0]
for i in strs:
while not i.startswith(prefix):
prefix = prefix[:-1]
return prefix
class Solution:
def longestCommonPrefix(self, strs: List[str]) -> str:
prefix = []
# zip to [('f', 'f', 'f'), ('l', 'l', 'l'), ('o', 'o', 'i'), ('w', 'w', 'g')]
for item in zip(*strs):
if len(set(item)) != 1:
break
else:
prefix.append(item[0])
return ''.join(prefix)