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通过正则查找微博@(at)用户的方法
Mar 13 Python
深入理解Python中字典的键的使用
Aug 19 Python
python学习之编写查询ip程序
Feb 27 Python
Python调用SQLPlus来操作和解析Oracle数据库的方法
Apr 09 Python
python3 模拟登录v2ex实例讲解
Jul 13 Python
python 根据时间来生成唯一的字符串方法
Jan 14 Python
Python3网络爬虫中的requests高级用法详解
Jun 18 Python
python面试题之列表声明实例分析
Jul 08 Python
python 实现查询Neo4j多节点的多层关系
Dec 23 Python
解决windows上安装tensorflow时报错,“DLL load failed: 找不到指定的模块”的问题
May 20 Python
Python 解析简单的XML数据
Jul 24 Python
Python实现壁纸下载与轮换
Oct 19 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
DOTA2 探索永无止境 玩家自创强悍插眼攻略
2020/04/20 DOTA
php断点续传之如何分割合并文件
2014/03/22 PHP
php实现获取文件mime类型的方法
2015/02/11 PHP
windows环境下使用Composer安装ThinkPHP5
2018/05/18 PHP
php高性能日志系统 seaslog 的安装与使用方法分析
2020/02/29 PHP
用JQuery调用Session的实现代码
2010/10/29 Javascript
input 和 textarea 输入框最大文字限制的jquery插件
2011/10/27 Javascript
Javascript玩转继承(二)
2014/05/08 Javascript
javascript面向对象特性代码实例
2014/06/12 Javascript
基于jQuery Bar Indicator 插件实现进度条展示效果
2015/09/30 Javascript
不得不分享的JavaScript常用方法函数集(下)
2015/12/25 Javascript
分享jQuery插件的学习笔记
2016/01/14 Javascript
读Javascript高性能编程重点笔记
2016/12/21 Javascript
Vue前端开发规范整理(推荐)
2018/04/23 Javascript
Vue利用canvas实现移动端手写板的方法
2018/05/03 Javascript
利用Vue构造器创建Form组件的通用解决方法
2018/12/03 Javascript
小程序使用watch监听数据变化的方法详解
2019/09/20 Javascript
js实现数字滚动特效
2019/12/16 Javascript
Vue SPA 首屏优化方案
2021/02/26 Vue.js
[08:44]DOTA2发布会群星聚首 我们都是刀塔人
2014/03/21 DOTA
[03:28]2014DOTA2国际邀请赛 走近EG战队天才中单Arteezy
2014/07/12 DOTA
用python写个自动SSH登录远程服务器的小工具(实例)
2017/06/17 Python
python调用matplotlib模块绘制柱状图
2019/10/18 Python
python读取文件指定行内容实例讲解
2020/03/02 Python
HTML5自定义mp3播放器源码
2020/01/06 HTML / CSS
美国电视购物HSN官网:HSN
2016/09/07 全球购物
学年自我鉴定范文
2013/10/01 职场文书
毕业生自我鉴定实例
2014/01/21 职场文书
幼儿园数学教学反思
2014/02/02 职场文书
技校学生个人职业生涯规划范文
2014/03/03 职场文书
大学生通用个人自我评价
2014/04/27 职场文书
多媒体教室标语
2014/06/26 职场文书
化工专业求职信
2014/07/01 职场文书
乡镇一岗双责责任书
2015/01/29 职场文书
工作违纪的检讨书范文
2019/07/09 职场文书
React Hook用法示例详解(6个常见hook)
2021/04/28 Javascript