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 del()函数用法
Mar 24 Python
Cpy和Python的效率对比
Mar 20 Python
在Python的Flask框架中使用模版的入门教程
Apr 20 Python
Python内建数据结构详解
Feb 03 Python
Python实现获取磁盘剩余空间的2种方法
Jun 07 Python
python使用tornado实现简单爬虫
Jul 28 Python
python redis连接 有序集合去重的代码
Aug 04 Python
Python爬虫 批量爬取下载抖音视频代码实例
Aug 16 Python
使用python将最新的测试报告以附件的形式发到指定邮箱
Sep 20 Python
python单例设计模式实现解析
Jan 07 Python
python实现小程序推送页面收录脚本
Apr 20 Python
安装并免费使用Pycharm专业版(学生/教师)
Sep 24 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 读取大文件的X行到Y行内容的实现代码
2013/06/24 PHP
PHP开发中AJAX技术的简单应用
2015/12/11 PHP
PHP实现的下载远程文件类定义与用法示例
2017/07/05 PHP
PHP检测接口Traversable用法详解
2017/12/29 PHP
CSS+Table图文混排中实现文本自适应图片宽度(超简单+跨所有浏览器)
2009/02/14 Javascript
Javascript 事件流和事件绑定
2009/07/16 Javascript
Javascript开发之三数组对象实例介绍
2012/11/12 Javascript
自动设置iframe大小的jQuery代码
2013/09/11 Javascript
jquery.autocomplete修改实现键盘上下键自动填充示例
2013/11/19 Javascript
javascript对象的使用和属性操作示例详解
2014/03/02 Javascript
JQuery删除DOM节点的方法
2015/06/11 Javascript
Javascript原型链的原理详解
2016/01/05 Javascript
JavaScript事件学习小结(三)js事件对象
2016/06/09 Javascript
基于jQuery实现照片墙自动播放特效
2017/01/12 Javascript
JS跨域请求外部服务器的资源
2017/02/06 Javascript
jQuery插件FusionCharts实现的3D柱状图效果实例【附demo源码下载】
2017/03/03 Javascript
jQuery实现的简单图片轮播效果完整示例
2018/02/08 jQuery
JavaScript门道之标准库
2018/05/26 Javascript
vue实现图片按比例缩放问题操作
2020/08/11 Javascript
[01:55]《走出家门看比赛》——DOTA2 2015国际邀请赛同城线下观战
2015/07/18 DOTA
[01:32]dota2拉比克至宝(222)
2018/12/20 DOTA
python中的sort方法使用详解
2014/07/25 Python
Python网络爬虫中的同步与异步示例详解
2018/02/03 Python
Python获取系统所有进程PID及进程名称的方法示例
2018/05/24 Python
python scipy求解非线性方程的方法(fsolve/root)
2018/11/12 Python
Python格式化字符串f-string概览(小结)
2019/06/18 Python
Python3与fastdfs分布式文件系统如何实现交互
2020/06/23 Python
Python字符串函数strip()原理及用法详解
2020/07/23 Python
使用AJAX和Django获取数据的方法实例
2020/10/25 Python
HTML5 本地存储实现购物车功能
2017/09/07 HTML / CSS
《画》教学反思
2014/04/14 职场文书
党的群众路线教育实践活动学习笔记
2014/11/05 职场文书
2016年国培心得体会及反思
2016/01/13 职场文书
未来,这5大方向都很适合创业
2019/07/22 职场文书
中秋节作文(五年级)之关于月亮
2019/09/11 职场文书
一篇文章弄懂Python中的内建函数
2021/08/07 Python