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

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

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

     1 class Solution:
     2     def longestCommonPrefix(self, strs):
     3         """
     4         :type strs: List[str]
     5         :rtype: str
     6         """
     7         if len(strs) == 0:
     8             return ""
     9         if len(strs) == 1:
    10             return strs[0]
    11         else: 
    12             return self.getCommonPrefix(strs,0,len(strs)-1)
    13         
    14     def getCommonPrefix(self,strs,left,right):
    15         if left == right:
    16             return strs[left]
    17         elif right - left == 1:
    18             return self.Prefix(strs[left], strs[right])
    19         else:
    20             mid = (left + right) // 2
    21             astr = self.getCommonPrefix(strs, left, mid)
    22             bstr = self.getCommonPrefix(strs, mid + 1, right)
    23             return self.Prefix(astr, bstr)
    24     
    25     def Prefix(self,str1,str2):
    26         prefix = ""
    27         if len(str1)>len(str2):
    28             tmp=str1
    29             str1=str2
    30             str2=tmp
    31         for i,a in enumerate(str1):
    32             if a==str2[i]:
    33                 prefix = prefix+a
    34             else:
    35                 break
    36                 
    37         return prefix
    38             
  • 相关阅读:
    01:oracle sql developer配置
    删除eclipse或者MyEclipse的workspace记录
    c++特殊函数
    java类和对象的基础(笔记)
    java打印日历
    10_9 java笔记
    程序流程
    学习疑惑……
    位运算和逻辑运算
    多种类型的指针
  • 原文地址:https://www.cnblogs.com/chengchengaqin/p/9508961.html
Copyright © 2011-2022 走看看