1 '''
2 编写一个函数来查找字符串数组中的最长公共前缀。
3 如果不存在公共前缀,返回空字符串 ""。
4 示例 1: 输入: ["flower","flow","flight"] 输出: "fl"
5 示例 2: 输入: ["dog","racecar","car"] 输出: "" 解释: 输入不存在公共前缀。
6 '''
7
8
9 class Solution:
10 def longestCommonPrefix(self, strs):
11 """
12 :type strs: List[str]
13 :rtype: str
14 """
15 if not len(strs):
16 return ''
17 elif len(strs) == 1:
18 return strs[0]
19 s = ''
20 b = sorted(strs, key=lambda x: len(x))
21 s1 = b[0]
22 for i, v in enumerate(s1):
23 l = []
24 for j in b[1:]:
25 l.append(v == j[i])
26 if all(l):
27 s += v
28 else:
29 break
30 return s
31
32
33 if __name__ == '__main__':
34 s = ["flower", "flow", "flight"]
35 ret = Solution().longestCommonPrefix(s)
36 print(ret)