14. 最长公共前缀
编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 ""。
所有输入只包含小写字母 a-z 。
输入: ["flower","flow","flight"]
输出: "fl"
思路
class Solution:
def longestCommonPrefix(self, strs):
# :type strs: List[str]
# :rtype: str
res = ""
for tmp in zip(*strs): # zip()函数将原列表解压
if len(set(tmp)) == 1: # 利用集合判断每个元素是否相同
res += tmp[0]
else:
break
return res
"""
取每一个单词的同一位置的字母,看是否相同。
利用python的zip函数,把str看成list然后把输入看成二维数组,
左对齐纵向压缩,然后把每项利用集合去重,取单元素集合的第一个元素
nums = ['flower','flow','flight']
for i in zip(*nums):
print(i) i
('f', 'f', 'f') 0
('l', 'l', 'l') 1
('o', 'o', 'i') 2
('w', 'w', 'g') 3
"""