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 相关文章推荐
win7 下搭建sublime的python开发环境的配置方法
Jun 18 Python
Zabbix实现微信报警功能
Oct 09 Python
Python数据可视化编程通过Matplotlib创建散点图代码示例
Dec 09 Python
Python+tkinter使用80行代码实现一个计算器实例
Jan 16 Python
pandas 选择某几列的方法
Jul 03 Python
python 批量修改/替换数据的实例
Jul 25 Python
python 输出所有大小写字母的方法
Jan 02 Python
Python 数据库操作 SQLAlchemy的示例代码
Feb 18 Python
Python依赖包整体迁移方法详解
Aug 15 Python
python连接PostgreSQL数据库的过程详解
Sep 18 Python
Python绘制三角函数图(sin\cos\tan)并标注特定范围的例子
Dec 04 Python
使用pth文件添加Python环境变量方式
May 26 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中0,null,empty,空,false,字符串关系的详细介绍
2013/06/20 PHP
php操作redis中的hash和zset类型数据的方法和代码例子
2014/07/05 PHP
php封装db类连接sqlite3数据库的方法实例
2017/12/19 PHP
使用javascript:将其它类型值转换成布尔类型值的解决方法详解
2013/05/07 Javascript
JQuery实现鼠标滑过显示导航下拉列表
2013/09/12 Javascript
常见的原始JS选择器使用方法总结
2014/04/09 Javascript
详解JavaScript设计模式开发中的桥接模式使用
2016/05/18 Javascript
浅谈Sublime Text 3运行JavaScript控制台
2016/06/06 Javascript
jQuery数组处理函数整理
2016/08/03 Javascript
详解React开发中使用require.ensure()按需加载ES6组件
2017/05/12 Javascript
解决js ajax同步请求造成浏览器假死的问题
2018/01/18 Javascript
原生JS实现逼真的图片3D旋转效果详解
2019/02/16 Javascript
微信小程序picker组件关于objectArray数据类型的绑定方法
2019/03/13 Javascript
layer.open 获取不到表单信息的解决方法
2019/09/26 Javascript
vue父子模板传值问题解决方法案例分析
2020/02/26 Javascript
JavaScript实现点击图片换背景
2020/11/20 Javascript
Python安装官方whl包和tar.gz包的方法(推荐)
2017/06/04 Python
Python 操作文件的基本方法总结
2017/08/10 Python
Python复制Word内容并使用格式设字体与大小实例代码
2018/01/22 Python
Python中将变量按行写入txt文本中的方法
2018/04/03 Python
python编写简易聊天室实现局域网内聊天功能
2018/07/28 Python
Python实现将字符串的首字母变为大写,其余都变为小写的方法
2019/06/11 Python
Python 装饰器@,对函数进行功能扩展操作示例【开闭原则】
2019/10/17 Python
使用Keras实现简单线性回归模型操作
2020/06/12 Python
python list的index()和find()的实现
2020/11/16 Python
财务管理职业生涯规划书
2014/02/26 职场文书
法律系毕业生求职信
2014/05/28 职场文书
高三励志标语
2014/06/05 职场文书
药剂专业毕业生求职信
2014/06/24 职场文书
计生工作先进事迹
2014/08/15 职场文书
反腐倡廉剖析材料
2014/09/30 职场文书
车辆委托书范本
2014/10/05 职场文书
2015年支教教师工作总结
2015/07/22 职场文书
CSS3实现三角形不断放大效果
2021/04/13 HTML / CSS
sql server删除前1000行数据的方法实例
2021/08/30 SQL Server
彩虹社八名人气艺人全新周边限时推出,性转女装男装一次拥有!
2022/04/01 日漫