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在linux系统下获取系统内存使用情况的方法
May 11 Python
在Django的URLconf中进行函数导入的方法
Jul 18 Python
Python的装饰器用法学习笔记
Jun 24 Python
Python 使用PIL numpy 实现拼接图片的示例
May 08 Python
浅谈Python中的可迭代对象、迭代器、For循环工作机制、生成器
Mar 11 Python
python实现Virginia无密钥解密
Mar 20 Python
centos 安装Python3 及对应的pip教程详解
Jun 28 Python
Django基础知识 URL路由系统详解
Jul 18 Python
python 如何去除字符串头尾的多余符号
Nov 19 Python
python实现提取COCO,VOC数据集中特定的类
Mar 10 Python
使用python tkinter开发一个爬取B站直播弹幕工具的实现代码
Feb 07 Python
如何将numpy二维数组中的np.nan值替换为指定的值
May 14 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面向对象全攻略 (九)访问类型
2009/09/30 PHP
php实现购物车功能(下)
2016/01/05 PHP
php阳历转农历优化版
2016/08/08 PHP
PHP基于SMTP协议实现邮件发送实例代码
2017/04/27 PHP
laravel框架中路由设置,路由参数和路由命名实例分析
2019/11/23 PHP
PHP 实现 WebSocket 协议原理与应用详解
2020/04/22 PHP
Javascript----文件操作
2007/01/18 Javascript
node.js实现逐行读取文件内容的代码
2014/06/27 Javascript
jQuery之DOM对象和jQuery对象的转换与区别分析
2015/01/08 Javascript
详解基于Bootstrap扁平化的后台框架Ace
2015/11/27 Javascript
nodejs搭建本地服务器并访问文件的方法
2017/03/03 NodeJs
Angular开发者指南之入门介绍
2017/03/05 Javascript
Angular中实现树形结构视图实例代码
2017/05/05 Javascript
angular.js + require.js构建模块化单页面应用的方法步骤
2017/07/19 Javascript
vue 进阶之实现父子组件间的传值
2019/04/26 Javascript
BootstrapValidator验证用户名已存在(ajax)
2019/11/08 Javascript
JavaScript实现旋转木马轮播图
2020/03/16 Javascript
js实现右键弹出自定义菜单
2020/09/08 Javascript
[01:51]开启你的城市传奇 完美世界城市挑战赛开始报名
2018/10/09 DOTA
Python学习小技巧之列表项的推导式与过滤操作
2017/05/20 Python
TensorFlow安装及jupyter notebook配置方法
2017/09/08 Python
关于Tensorflow中的tf.train.batch函数的使用
2018/04/24 Python
如何安装2019Pycharm最新版本(详细教程)
2019/09/26 Python
Python Django框架url反向解析实现动态生成对应的url链接示例
2019/10/18 Python
python实现大量图片重命名
2020/03/23 Python
python 通过视频url获取视频的宽高方式
2019/12/10 Python
python批量生成条形码的示例
2020/10/10 Python
css3 flex实现div内容水平垂直居中的几种方法
2020/03/27 HTML / CSS
美国在线宠物用品商店:Entirely Pets
2017/01/01 全球购物
德国二手设计师时装和复古时装跳蚤市场:Mädchenflohmarkt
2020/11/09 全球购物
网络通讯中,端口有什么含义,端口的取值范围
2012/11/23 面试题
会计职业生涯规划范文
2014/01/04 职场文书
工伤赔偿协议书
2014/04/15 职场文书
市级优秀班主任事迹材料
2014/05/13 职场文书
师范类求职信
2014/06/21 职场文书
Java实现HTML转为Word的示例代码
2022/06/28 Java/Android