LeetCode-14. 最長公共前綴

編寫一個函數來查找字符串數組中的最長公共前綴。數組

若是不存在公共前綴,返回空字符串 ""。函數

示例 1:spa

輸入: ["flower","flow","flight"]
輸出: "fl"
示例 2:code

輸入: ["dog","racecar","car"]
輸出: ""blog

解釋: 輸入不存在公共前綴。
說明:leetcode

全部輸入只包含小寫字母 a-z 。字符串

方法一:it

 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

方法二:io

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-prefixclass

相關文章
相關標籤/搜索