20190501-編寫一個函數來查找字符串數組中的最長公共前綴。如果不存在公共前綴,返回空字符串
阿新 • • 發佈:2019-05-01
rac 基準 pan key type 最長 題目 long common
題目描述
編寫一個函數來查找字符串數組中的最長公共前綴。
如果不存在公共前綴,返回空字符串 ""。
示例 1:
輸入: ["flower","flow","flight"]
輸出: "fl"
示例 2:
輸入: ["dog","racecar","car"]
輸出: ""
解釋: 輸入不存在公共前綴。
考點
- 根據列表中的字符串長度排序
- 兩層for循環的使用,for|else的使用
算法
從下標0開始,判斷每一個字符串同一索引所對應的值,判斷是否全部相同。直到遇到不全部相同的時候return。
由於提供的單詞長度不同,應該以最小單詞為基準進行比較,如["flower","flow","flight"]中應該以flow來和剩下的單詞一一對比。
- 所有單詞同一索引所對應的值相等,則更新最長公共前綴
- 有一個單詞與其他單詞同一索引所對應的值不相等,則返回最後更新的最長公共前綴
代碼
def longestCommonPrefix(strs): """ :type strs: List[str] :rtype: str """ strs.sort(key =len)# 根據列表中的字符串長度排序 result = ‘‘#記錄公共前綴 for i in range(len(strs[0])):#以列表中長度最小的單詞為基準進行遍歷 forj in strs:#遍歷列表中的每個字符串 if j[i] != strs[0][i]:#如果列表中的字符串的對應下標是否相同 return result else: result += strs[0][i]#如果所有字符串下標都相同,更新最長公共前綴 return result
20190501-編寫一個函數來查找字符串數組中的最長公共前綴。如果不存在公共前綴,返回空字符串