Write a function to find the longest common prefix string amongst an array of strings.
If there is no common prefix, return an empty string ""
.
编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 ""
。
示例 1:
1 2 |
<strong>输入: </strong>["flower","flow","flight"] <strong>输出:</strong> "fl" |
示例 2:
1 2 3 |
<strong>输入: </strong>["dog","racecar","car"] <strong>输出:</strong> "" <strong>解释:</strong> 输入不存在公共前缀。 |
说明:
所有输入只包含小写字母 a-z
。
解答
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
prefix = '' if len(strs) > 0: longest = sorted(strs, key=lambda k: len(k), reverse=True)[0] for i in range(len(longest)): try: for j in range(len(strs)): if longest[i] == strs[j][i]: if j == len(strs)-1: prefix = prefix + strs[j][i] break continue else: return prefix except: continue return prefix |
状态 | 执行用时 | 语言 | |
---|---|---|---|
几秒前 | 通过 | 56 ms | python3 |