編寫一個函數來查找字符串數組中的最長公共前綴。數組
若是不存在公共前綴,返回空字符串 ""。函數
示例 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