Python实现查找字符串数组最长公共前缀示例


Posted in Python onMarch 27, 2019

本文实例讲述了Python实现查找字符串数组最长公共前缀。分享给大家供大家参考,具体如下:

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

class Solution:
  def longestCommonPrefix(self, strs):
    """
    :type strs: List[str]
    :rtype: str
    """
    olds = ''
    rs=''
    if not strs:
      return ''
    if len(strs)==1:
      return strs[0]
    over = False
    print("strs_len:", len(strs))
    i=0 # 单个字符的索引
    while True:
      j=0 # strs中字符串的索引
      while j < len(strs)-1:
        if not strs[j] or not strs[j+1]:# 若是空串
          break
        #print("s1:",len(strs[j]), " s2:", len(strs[j+1]))
        if i >= len(strs[j]): # 如果一个子串比较完了,则结束循环
          over = True
          break
        elif i >= len(strs[j+1]):
          j+=1
          over = True
          break
        else:
          over = False
        #print("j:",j,"i: ",i)
        if strs[j][i] != strs[j+1][i]:
          break
        j+=1
      #print("j2:",j)
      if not over and j!=(len(strs)-1): # 如果没有比较到最后,说明前面出现了不相等的子串
        break
      #print("j:",j,"i: ",i)
      if over: # 如果一个子串已经比较结束,结束循环
        rs=strs[j]
        break
      i+=1
      rs=strs[0][:i]
      print("rs:",rs)
    return rs

我实现的方法,相当笨,后来通过测试后,我发现原来系统中有现成的接口是现实这个功能,如下:

os.path.commonprefix(list)

返回list中,所有元素共有的最长的前缀

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
Python中的filter()函数的用法
Apr 27 Python
python 制作自定义包并安装到系统目录的方法
Oct 27 Python
python整小时 整天时间戳获取算法示例
Feb 20 Python
在python下使用tensorflow判断是否存在文件夹的实例
Jun 10 Python
Python 网络编程之UDP发送接收数据功能示例【基于socket套接字】
Oct 11 Python
Python内置函数locals和globals对比
Apr 28 Python
Python自定义聚合函数merge与transform区别详解
May 26 Python
python中selenium库的基本使用详解
Jul 31 Python
如何基于Python爬虫爬取美团酒店信息
Nov 03 Python
python更新数据库中某个字段的数据(方法详解)
Nov 18 Python
基于Pygame实现简单的贪吃蛇游戏
Dec 06 Python
详解python中@的用法
Mar 27 #Python
详解python列表生成式和列表生成式器区别
Mar 27 #Python
Python3实现的回文数判断及罗马数字转整数算法示例
Mar 27 #Python
详解Django项目中模板标签及模板的继承与引用(网站中快速布置广告)
Mar 27 #Python
python模块之subprocess模块级方法的使用
Mar 26 #Python
详解Python数据可视化编程 - 词云生成并保存(jieba+WordCloud)
Mar 26 #Python
Python实现的矩阵转置与矩阵相乘运算示例
Mar 26 #Python
You might like
PHP字符串的递增和递减示例介绍
2014/02/11 PHP
PHP使用反射机制实现查找类和方法的所在位置
2016/04/22 PHP
PHP实现QQ快速登录的方法
2016/09/28 PHP
PHP框架Laravel中实现supervisor执行异步进程的方法
2017/06/07 PHP
PHP多进程编程之僵尸进程问题的理解
2017/10/15 PHP
YII框架http缓存操作示例
2019/04/29 PHP
php ActiveMQ的安装与使用方法图文教程
2020/02/23 PHP
Jquery ajax执行顺序 返回自定义错误信息(实例讲解)
2013/11/06 Javascript
利用try-catch判断变量是已声明未声明还是未赋值
2014/03/12 Javascript
javascript常用的正则表达式实例
2014/05/15 Javascript
AngularJS 2.0新特性有哪些
2016/02/18 Javascript
jQuery+ajax+asp.net获取Json值的方法
2016/06/08 Javascript
JavaScript中输出信息的方法(信息确认框-提示输入框-文档流输出)
2016/06/12 Javascript
基于jQuery实现弹幕APP
2017/02/10 Javascript
常用的几个JQuery代码片段
2017/03/13 Javascript
Kotlin学习第一步 kotlin语法特性
2017/05/25 Javascript
原生JS发送异步数据请求
2017/06/08 Javascript
浅谈Webpack 是如何加载模块的
2018/05/24 Javascript
基于js Canvas实现二次贝塞尔曲线
2018/12/25 Javascript
微信小程序配置服务器提示验证token失败的解决方法
2019/04/03 Javascript
详解JavaScript的变量
2019/04/04 Javascript
JS实现处理时间,年月日,星期的公共方法示例
2019/05/31 Javascript
jQuery实现鼠标移入显示蒙版效果
2020/01/11 jQuery
JavaScript设计模式---单例模式详解【四种基本形式】
2020/05/16 Javascript
利用Python破解斗地主残局详解
2017/06/30 Python
python 常用的基础函数
2018/07/10 Python
Python从ZabbixAPI获取信息及实现Zabbix-API 监控的方法
2018/09/17 Python
Python如何获得百度统计API的数据并发送邮件示例代码
2019/01/27 Python
pytorch中的自定义数据处理详解
2020/01/06 Python
python 30行代码实现蚂蚁森林自动偷能量
2021/02/08 Python
海滩咖啡馆:Beach Cafe
2018/02/02 全球购物
偷看我的初中毕业鉴定
2014/01/29 职场文书
《沙漠中的绿洲》教学反思
2014/04/24 职场文书
还款承诺书范本
2015/01/20 职场文书
2015军训通讯稿大全
2015/07/18 职场文书
Golang日志包的使用
2022/04/20 Golang