【leetcode 简单】第五题 最长公共前缀
编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 ""
。
示例 1:
输入: ["flower","flow","flight"] 输出: "fl"
示例 2:
输入: ["dog","racecar","car"] 输出: "" 解释: 输入不存在公共前缀。
说明:
所有输入只包含小写字母 a-z
。
class Solution: @classmethod def longestCommonPrefix(self, strs): """ :type strs: List[str] :rtype: str """ if not strs: return '' new_strs=[i for i in strs if len(i) != 0] if new_strs: strs_length = len(new_strs) if strs_length != len(strs): return '' else: return '' if strs_length == 1: return strs[0] example=strs[0] strs.remove(example) tmp=1 while len([i for i in strs if example[:tmp] == i[:tmp]]) == strs_length-1 and tmp <= len(example): tmp += 1 tmp-=1 return example[:tmp] if example[:tmp] else ''
class Solution: def longestCommonPrefix(self, strs): """ :type strs: List[str] :rtype: str """ if not strs: return "" shortest=min(strs,key=len) for x, y in enumerate(shortest): for s in strs: if s[x]!=y: return shortest[:x] return shortest