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基于select实现的socket服务器
Apr 13 Python
Python字符串和字典相关操作的实例详解
Sep 23 Python
flask-socketio实现WebSocket的方法
Jul 31 Python
Python标准库shutil用法实例详解
Aug 13 Python
由Python编写的MySQL管理工具代码实例
Apr 09 Python
获取django框架orm query执行的sql语句实现方法分析
Jun 20 Python
Python占用的内存优化教程
Jul 28 Python
python 消除 futureWarning问题的解决
Dec 25 Python
python3 deque 双向队列创建与使用方法分析
Mar 24 Python
Python Switch Case三种实现方法代码实例
Jun 18 Python
简单了解python关键字global nonlocal区别
Sep 21 Python
python PIL模块的基本使用
Sep 29 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
用mysql内存表来代替php session的类
2009/02/01 PHP
php根据日期判断星座的函数分享
2014/02/13 PHP
PHP数据库操作之基于Mysqli的数据库操作类库
2014/04/19 PHP
php微信公众号开发(4)php实现自定义关键字回复
2016/12/15 PHP
用 JavaScript 迁移目录
2006/12/18 Javascript
JavaScript的eval JSON object问题
2009/11/15 Javascript
javascript打印输出json实例
2013/11/11 Javascript
javascript常见数据验证插件大全
2015/08/03 Javascript
基于Jquery制作图片文字排版预览效果附源码下载
2015/11/18 Javascript
javascript原生ajax写法分享
2016/04/10 Javascript
全面了解函数声明与函数表达式、变量提升
2016/08/09 Javascript
纯js封装的ajax功能函数与用法示例
2018/05/14 Javascript
浅谈Webpack 是如何加载模块的
2018/05/24 Javascript
jQuery实现上下滚动公告栏详细代码
2018/11/21 jQuery
详解vue中axios的使用与封装
2019/03/20 Javascript
在vant中使用时间选择器和popup弹出层的操作
2020/11/04 Javascript
CentOS 6.5下安装Python 3.5.2(与Python2并存)
2017/06/05 Python
Python中实例化class的执行顺序示例详解
2018/10/14 Python
python: 自动安装缺失库文件的方法
2018/10/22 Python
使用python获取电脑的磁盘信息方法
2018/11/01 Python
Python实现串口通信(pyserial)过程解析
2019/09/25 Python
Python+pyftpdlib实现局域网文件互传
2020/08/24 Python
Python HTMLTestRunner如何下载生成报告
2020/09/04 Python
用CSS3来实现社交分享按钮
2014/11/11 HTML / CSS
德国知名健康零食网上商店:Seeberger
2017/07/27 全球购物
应届生污水处理求职信
2013/11/06 职场文书
工作证明范本(2篇)
2014/09/14 职场文书
大学生自我评价200字(4篇)
2014/09/17 职场文书
作文批改评语
2014/12/25 职场文书
委托书英文
2015/01/28 职场文书
武当山导游词
2015/02/03 职场文书
2015年全国助残日活动方案
2015/05/04 职场文书
个人催款函范文
2015/06/24 职场文书
小学校园广播稿
2015/08/18 职场文书
《攀登者》:“海拔8000米以上,你不能指望任何人”
2019/11/25 职场文书
python图片灰度化处理的几种方法
2021/06/23 Python