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脚本实现批量网站存活检测遇到问题及解决方法
Oct 11 Python
Android 兼容性问题:java.lang.UnsupportedOperationException解决办法
Mar 19 Python
python实现视频分帧效果
May 31 Python
python爬虫解决验证码的思路及示例
Aug 01 Python
Python实现快速排序的方法详解
Oct 25 Python
使用Python制作新型冠状病毒实时疫情图
Jan 28 Python
python使用docx模块读写docx文件的方法与docx模块常用方法详解
Feb 17 Python
Python编程快速上手——选择性拷贝操作案例分析
Feb 28 Python
Django中从mysql数据库中获取数据传到echarts方式
Apr 07 Python
有关pycharm登录github时有的时候会报错connection reset的问题
Sep 15 Python
如何使用Python对NetCDF数据做空间相关分析
Apr 21 Python
Python编程中内置的NotImplemented类型的用法
Mar 23 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中的串行化变量和序列化对象
2006/09/05 PHP
php木马攻击防御之道
2008/03/24 PHP
基于PHP服务端图片生成缩略图的方法详解
2013/06/20 PHP
详解PHP的Yii框架中扩展的安装与使用
2016/04/01 PHP
JS 动态获取节点代码innerHTML分析 [IE,FF]
2009/11/30 Javascript
JavaScript高级程序设计 读书笔记之十一 内置对象Global
2012/03/07 Javascript
nodejs入门详解(多篇文章结合)
2012/03/07 NodeJs
javascript监听鼠标滚轮事件浅析
2014/06/05 Javascript
基于jQuery插件实现点击小图显示大图效果
2016/05/11 Javascript
node.js路径处理方法以及绝对路径详解
2021/03/04 Javascript
纯JS实现只能输入数字的简单代码
2017/06/21 Javascript
vue-cli 组件的导入与使用教程详解
2018/04/11 Javascript
js实现多个倒计时并行 js拼团倒计时
2019/02/25 Javascript
零基础之Node.js搭建API服务器的详解
2019/03/08 Javascript
Vue封装Axios请求和拦截器的步骤
2020/09/16 Javascript
vue 使用 sortable 实现 el-table 拖拽排序功能
2020/12/26 Vue.js
[04:13]2014DOTA2国际邀请赛 专访DC目前形势不容乐观
2014/07/12 DOTA
Python面向对象类的继承实例详解
2018/06/27 Python
Linux下python3.6.1环境配置教程
2018/09/26 Python
Numpy与Pytorch 矩阵操作方式
2019/12/27 Python
Python中itertools的用法详解
2020/02/07 Python
Python对象的属性访问过程详解
2020/03/05 Python
python数据处理——对pandas进行数据变频或插值实例
2020/04/22 Python
使用SimpleITK读取和保存NIfTI/DICOM文件实例
2020/07/01 Python
HTML5 绘制图像(上)之:关于canvas元素引领下一代web页面的问题
2013/04/24 HTML / CSS
美国学校校服,儿童和婴儿服装:Cookie’s Kids
2016/10/14 全球购物
英国时尚和家居用品零售商:Matalan
2021/02/28 全球购物
搞笑创意广告语
2014/03/17 职场文书
新店开张活动方案
2014/08/24 职场文书
民主评议教师党员自我评价
2015/03/04 职场文书
乡镇保密工作承诺书
2015/05/04 职场文书
2015年幼儿教育工作总结
2015/07/24 职场文书
React Hook用法示例详解(6个常见hook)
2021/04/28 Javascript
React Native项目框架搭建的一些心得体会
2021/05/28 Javascript
Java9新特性对HTTP2协议支持与非阻塞HTTP API
2022/03/16 Java/Android
vue使用localStorage持久性存储实现评论列表
2022/04/14 Vue.js