您的位置:首页 > 编程语言 > Python开发

leetcode--最长公共前缀--python

2019-04-28 14:31 337 查看

文章目录

  • 解题思路
  • 题目

    题目详情

    编写一个函数来查找字符串数组中的最长公共前缀。

    如果不存在公共前缀,返回空字符串 “”。

    示例

    输入: ["flower","flow","flight"]
    输出: "fl"
    输入: ["dog","racecar","car"]
    输出: ""
    解释: 输入不存在公共前缀。

    解题思路

    1. 只要取出最大的字符串和最小的字符串,那么就可以代表整组的字符串求最长公共前缀了。
    2. 再求出最长和最短字符串的最长前缀就可以了

    代码

    class Solution:
    def longestCommonPrefix(self, strs):
    if not strs: return ""
    s1 = min(strs)               #最小
    s2 = max(strs)               #最大
    for i,x in enumerate(s1):
    if x != s2[i]:           #判断条件
    return s2[:i]
    return s1

    运行结果

    最佳方案

    32ms

    class Solution:
    def longestCommonPrefix(self, strs: 'List[str]') -> 'str':
    if not strs:
    return''
    if len(strs)==1:
    return strs[0]
    strs.sort()
    p=''
    for x,y in zip(strs[0],strs[-1]):
    if x==y:
    p+=x
    else:
    break
    return p
    内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
    标签: