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实现马耳可夫链算法实例分析
May 20 Python
python学习笔记之调用eval函数出现invalid syntax错误问题
Oct 18 Python
Python和JavaScript间代码转换的4个工具
Feb 22 Python
Python获取暗黑破坏神3战网前1000命位玩家的英雄技能统计
Jul 04 Python
pandas获取groupby分组里最大值所在的行方法
Apr 20 Python
在windows下Python打印彩色字体的方法
May 15 Python
详解python中自定义超时异常的几种方法
Jul 29 Python
python 动态迁移solr数据过程解析
Sep 04 Python
Python中输入和输出(打印)数据实例方法
Oct 13 Python
使用Matplotlib 绘制精美的数学图形例子
Dec 13 Python
python热力图实现简单方法
Jan 29 Python
python FTP编程基础入门
Feb 27 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无限分类(树形类)的深入分析
2013/06/02 PHP
php与java通过socket通信的实现代码
2013/10/21 PHP
php实现获取近几日、月时间示例
2019/07/06 PHP
niceTitle 基于jquery的超链接提示插件
2010/05/31 Javascript
js页面跳转的常用方法整理
2013/10/18 Javascript
用javascript为页面添加天气显示实现思路及代码
2013/12/02 Javascript
jquery 实现两级导航菜单附效果图
2014/03/07 Javascript
Jquery Post处理后不进入回调的原因及解决方法
2014/07/15 Javascript
node.js中的fs.utimesSync方法使用说明
2014/12/15 Javascript
jquery实现标签支持图文排列带上下箭头按钮的选项卡
2015/03/14 Javascript
《JavaScript高级编程》学习笔记之object和array引用类型
2015/11/01 Javascript
React-router 4 按需加载的实现方式及原理详解
2017/05/25 Javascript
javascript 中事件冒泡和事件捕获机制的详解
2017/09/01 Javascript
node.js学习之断言assert的使用示例
2017/09/28 Javascript
详解如何优雅地在React项目中使用Redux
2017/12/28 Javascript
js将键值对字符串转为json字符串的方法
2018/03/30 Javascript
Vue组件Draggable实现拖拽功能
2018/12/01 Javascript
javascript全局自定义鼠标右键菜单
2020/12/08 Javascript
Python中zip()函数用法实例教程
2014/07/31 Python
Python实现远程调用MetaSploit的方法
2014/08/22 Python
Python排序搜索基本算法之希尔排序实例分析
2017/12/09 Python
为什么入门大数据选择Python而不是Java?
2018/03/07 Python
Python使用post及get方式提交数据的实例
2019/01/24 Python
Python中如何导入类示例详解
2019/04/17 Python
简单了解django文件下载方式
2020/02/10 Python
在Windows上安装和配置 Jupyter Lab 作为桌面级应用程序教程
2020/04/22 Python
matplotlib更改窗口图标的方法示例
2021/02/03 Python
欧姆龙医疗保健与医疗产品:Omron Healthcare
2020/02/10 全球购物
医科大学生的自我评价
2013/12/04 职场文书
优良学风班总结材料
2014/02/08 职场文书
中学生社会实践活动总结
2014/07/03 职场文书
重阳节活动总结
2014/08/27 职场文书
改作风抓落实促发展心得体会
2014/09/10 职场文书
2014迎国庆演讲稿
2014/09/19 职场文书
2014年销售助理工作总结
2014/12/01 职场文书
党员个人总结范文
2015/02/14 职场文书