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 相关文章推荐
简单的Python2.7编程初学经验总结
Apr 01 Python
python中requests模块的使用方法
Apr 08 Python
剖析Python的Twisted框架的核心特性
May 25 Python
Android分包MultiDex策略详解
Oct 30 Python
python保存文件方法小结
Jul 27 Python
解决PyCharm import torch包失败的问题
Oct 13 Python
python RabbitMQ 使用详细介绍(小结)
Nov 08 Python
使用python实现语音文件的特征提取方法
Jan 09 Python
Python并发请求下限制QPS(每秒查询率)的实现代码
Jun 05 Python
keras中epoch,batch,loss,val_loss用法说明
Jul 02 Python
Python3中对json格式数据的分析处理
Jan 28 Python
python 第三方库paramiko的常用方式
Feb 20 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
第九节 绑定 [9]
2006/10/09 PHP
Drupal7连接多个数据库及常见问题解决
2014/03/02 PHP
Symfony2实现在controller中获取url的方法
2016/03/18 PHP
基于swoole实现多人聊天室
2018/06/14 PHP
javascript中的toFixed固定小数位数 简单实例分享
2013/07/12 Javascript
利用jQuery实现可输入搜索文字的下拉框
2013/10/23 Javascript
使用JSLint提高JS代码质量方法分享
2013/12/16 Javascript
jQuery中appendTo()方法用法实例
2015/01/08 Javascript
js的for in循环和java里foreach循环的区别分析
2015/01/28 Javascript
javascript强制点击广告的方法
2015/02/06 Javascript
js跨域请求数据的3种常用的方法
2015/12/01 Javascript
JS使用正则截取两个字符串之间的字符串实现方法详解
2017/01/06 Javascript
js实现带缓动动画的导航栏效果
2017/01/16 Javascript
windows下vue-cli及webpack搭建安装环境
2017/04/25 Javascript
ES6学习之变量的两种命名方法示例
2017/07/18 Javascript
对angularJs中controller控制器scope父子集作用域的实例讲解
2018/10/08 Javascript
详解Vue内部怎样处理props选项的多种写法
2018/11/06 Javascript
Python创建模块及模块导入的方法
2015/05/27 Python
Python教程之全局变量用法
2016/06/27 Python
python模块之re正则表达式详解
2017/02/03 Python
Python从零开始创建区块链
2018/03/06 Python
对Pyhon实现静态变量全局变量的方法详解
2019/01/11 Python
使用PyQtGraph绘制精美的股票行情K线图的示例代码
2019/03/14 Python
python微信聊天机器人改进版(定时或触发抓取天气预报、励志语录等,向好友推送)
2019/04/25 Python
python如何制作缩略图
2019/04/30 Python
python代码xml转txt实例
2020/03/10 Python
使用python操作lmdb对数据读取的实例
2020/12/11 Python
美国经典刺绣和字母儿童服装特卖:Smocked Auctions
2018/07/16 全球购物
BAILEY 44官网:美国制造的女性服装
2019/07/01 全球购物
大专毕业生自我评价分享
2013/11/10 职场文书
经贸专业毕业生求职信范文
2014/05/01 职场文书
学校纪律作风整改措施思想汇报
2014/10/11 职场文书
2014年敬老院工作总结
2014/12/08 职场文书
幼儿园科学课教学反思
2016/03/03 职场文书
Mysql数据库中datetime、bigint、timestamp来表示时间选择,谁来存储时间效率最高
2021/08/23 MySQL
JAVA长虹键法之建造者Builder模式实现
2022/04/10 Java/Android