撰寫一個函式來查找字串陣列中的最長公共前綴,
如果不存在公共前綴,回傳空字串 "",
示例 1:
輸入: ["flower","flow","flight"]
輸出: "fl"
示例 2:
輸入: ["dog","racecar","car"]
輸出: ""
解釋: 輸入不存在公共前綴,
說明:
所有輸入只包含小寫字母 a-z ,
方法一:
1 class Solution: 2 def longestCommonPrefix(self, strs: List[str]) -> str: 3 result = "" 4 i = 0 5 while True: 6 try: 7 #使用set方法,查找第 i 個位置不同的字母有多少個 8 sets = set(item[i] for item in strs ) 9 #如果個數為 1 則并入到 result 中,并從set中洗掉保留的哪一個資料 10 if len(sets) == 1: 11 result += sets.pop() 12 i += 1 13 else:break 14 except Exception: 15 break 16 return result
方法二:
1 class Solution: #查找最大公共前綴 2 def longestCommonPrefix(self, strs): 3 if not strs: 4 return "" 5 for i in range(len(strs[0])): 6 for item in strs[1:]: 7 if i >= len(item) or item[i] != strs[0][i]: 8 return strs[0][:i] 9 return ""
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/longest-common-prefix
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/88229.html
標籤:其他
上一篇:Codeforces 1296F Berland Beauty
下一篇:時間范圍占比工具類
