zoukankan      html  css  js  c++  java
  • 14. 最长公共前缀

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

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

    示例 1:

    输入: ["flower","flow","flight"]
    输出: "fl"
    示例 2:

    输入: ["dog","racecar","car"]
    输出: ""
    解释: 输入不存在公共前缀。
    说明:

    所有输入只包含小写字母 a-z 。

     1 class Solution:
     2     def longestCommonPrefix(self, strs: List[str]) -> str:
     3         if not strs:
     4             return ""
     5         str0=min(strs)
     6         str1=max(strs)
     7         for i in range(len(str0)):
     8             if str0[i]!=str1[i]:
     9                 return str0[:i]
    10         return str0

    通过先进行判断这个列表是否为空来判断是否继续下去,这个列表需要找到公共前缀需要我们看前缀是否相同,想到比较字符串的大小,找到最大、最小字符串,他们之间要不前缀相同,要不不同,中间的不影响判断最大的前缀要不和中间的相同,要不比它大所以不影响找相同前缀,用最大最小比较其中的字符返回相同字符。

    1 s=""
    2 >>> for i in zip(*strs):
    3     if len(set(i))==1:
    4         s=s+i[0]
    5         print(s)
    6     else:break

    利用zip来使字符串一一对应成为元组,判断元组的元素是否相同。

  • 相关阅读:
    ajax
    Django之modelform组件
    Django之form组件
    orm事务与锁
    orm之多表操作
    orm之单表操作
    Django之orm
    Django之模板系统
    Django之视图
    hdu5698瞬间移动(杨辉三角+快速幂+逆元)
  • 原文地址:https://www.cnblogs.com/hly97/p/13233108.html
Copyright © 2011-2022 走看看