編寫一個函數來查找字符串數組中的最長公共前綴。
如果不存在公共前綴,返回空字符串 ""
。
示例 1:
輸入: ["flower","flow","flight"] 輸出: "fl"
示例 2:
輸入: ["dog","racecar","car"] 輸出: "" 解釋: 輸入不存在公共前綴。
可以使用enumerate()函數進行對比。enumerate() 函數用於將一個可遍歷的數據對象(如列表、元組或字符串)組合爲一個索引序列,同時列出數據和數據下標,一般用在 for 循環當中。
>>>seasons = ['Spring', 'Summer', 'Fall', 'Winter']
>>> list(enumerate(seasons)) [(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]
>>> list(enumerate(seasons, start=1)) # 下標從 1 開始 [(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]
PS:這裏可以設置下標,默認是從0開始
普通的 for 循環
>>>i = 0
>>> seq = ['one', 'two', 'three']
>>> for element in seq:
print i, seq[i]
i +=1
... 0 one 1 two 2 three
for 循環使用 enumerate
>>>seq = ['one', 'two', 'three']
>>> for i, element in enumerate(seq):
print i, element
... 0 one 1 two 2 three
class Solution(object):
def longestCommonPrefix(self, strs):
"""
:type strs: List[str]
:rtype: str
"""
if len(strs) == 0:
return ''
s1 = min(strs)
s2 = max(strs)
for i,element in enumerate(s1):
if element != s2[i]:
return s1[:i]
return s1