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启动办公软件进程(word、excel、ppt、以及wps的et、wps、wpp)
Apr 09 Python
Python random模块常用方法
Nov 03 Python
Python中获取网页状态码的两个方法
Nov 03 Python
详解python脚本自动生成需要文件实例代码
Feb 04 Python
python中print()函数的“,”与java中System.out.print()函数中的“+”功能详解
Nov 24 Python
Python3.7中安装openCV库的方法
Jul 11 Python
对tf.reduce_sum tensorflow维度上的操作详解
Jul 26 Python
利用arcgis的python读取要素的X,Y方法
Dec 22 Python
Python3 无重复字符的最长子串的实现
Oct 08 Python
Python xml、字典、json、类四种数据类型如何实现互相转换
May 27 Python
如何基于Python Matplotlib实现网格动画
Jul 20 Python
如何使用python-opencv批量生成带噪点噪线的数字验证码
Dec 21 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删除数组中的特定元素的代码
2012/06/28 PHP
php处理文件的小例子(解压缩,删除目录)
2013/02/03 PHP
Extjs TriggerField在弹出窗口显示不出问题的解决方法
2010/01/08 Javascript
Extjs改变树节点的勾选状态点击按钮将复选框去掉
2013/11/14 Javascript
jquery遍历checkbox的注意事项说明
2014/02/21 Javascript
node.js中的path.delimiter方法使用说明
2014/12/09 Javascript
Javascript实现禁止输入中文或英文的例子
2014/12/09 Javascript
javascript编写贪吃蛇游戏
2015/07/07 Javascript
JavaScript中Date对象的常用方法示例
2015/10/24 Javascript
基于javascript简单实现对身份证校验
2021/01/25 Javascript
超漂亮的Bootstrap 富文本编辑器summernote
2016/04/05 Javascript
详解Javascript ES6中的箭头函数(Arrow Functions)
2016/08/24 Javascript
教你一步步用jQyery实现轮播器
2016/12/18 Javascript
vue2笔记 — vue-router路由懒加载的实现
2017/03/03 Javascript
原生js封装运动框架的示例讲解
2017/10/01 Javascript
babel之配置文件.babelrc入门详解
2018/02/22 Javascript
Vue+webpack项目配置便于维护的目录结构教程详解
2018/10/14 Javascript
vue-router 中 meta的用法详解
2019/11/01 Javascript
[01:04:48]VGJ.S vs TNC Supermajor 败者组 BO3 第一场 6.6
2018/06/07 DOTA
python简单文本处理的方法
2015/07/10 Python
Python入门学习之字符串与比较运算符
2015/10/12 Python
python编程实现归并排序
2017/04/14 Python
利用python求相邻数的方法示例
2017/08/18 Python
python存储16bit和32bit图像的实例
2018/12/05 Python
Python操作MySQL数据库的两种方式实例分析【pymysql和pandas】
2019/03/18 Python
Jupyter notebook如何修改平台字体
2020/05/13 Python
python爬虫快速响应服务器的做法
2020/11/24 Python
python+selenium爬取微博热搜存入Mysql的实现方法
2021/01/27 Python
Lookfantastic挪威官网:英国知名美妆购物网站
2017/07/26 全球购物
Merchant 1948澳大利亚:新西兰领先的鞋类和靴子供应商
2018/03/24 全球购物
Charles & Keith欧盟:新加坡时尚品牌
2019/08/01 全球购物
学习计划书怎么写
2014/09/15 职场文书
学校党委干部个人对照检查材料思想汇报
2014/10/09 职场文书
2015年设计师个人工作总结
2015/04/25 职场文书
2015年节能降耗工作总结
2015/05/22 职场文书
Python爬虫中urllib3与urllib的区别是什么
2021/07/21 Python