Python实现合并两个有序链表的方法示例


Posted in Python onJanuary 31, 2019

本文实例讲述了Python实现合并两个有序链表的方法。分享给大家供大家参考,具体如下:

Python实现合并两个有序链表的方法示例

思路:先选出第一个节点,然后遍历两个链表,把小的作为当前节点的下一个节点,一直到其中一个链表遍历完,这时候把另一个链表直接接上就好

# Definition for singly-linked list.
# class ListNode(object):
#   def __init__(self, x):
#     self.val = x
#     self.next = None
class Solution(object):
  def mergeTwoLists(self, l1, l2):
    """
    :type l1: ListNode
    :type l2: ListNode
    :rtype: ListNode
    """
    #先考虑链表其中一个为空的情况
    if not l1:
      return l2
    if not l2:
      return l1
    curNode1 = l1
    curNode2 = l2
    #先选出第一个节点
    if curNode1.val < curNode2.val:
      head = curNode1
      curNode1 = curNode1.next
    else:
      head = curNode2
      curNode2 = curNode2.next
    cur = head
    while curNode1 and curNode2:
      if curNode1.val < curNode2.val:
        cur.next = curNode1
        curNode1 = curNode1.next
      else:
        cur.next = curNode2
        curNode2 = curNode2.next
      cur = cur.next
    #一直循环到有一个链表先结束
    #如果是链表1先结束,则拼上链表2剩余的那段
    if not curNode1:
      cur.next = curNode2
    #如果是链表2先结束,则拼上链表1剩余的那段
    else:
      cur.next = curNode1
    return head

Python实现合并两个有序链表的方法示例

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
跟老齐学Python之有容乃大的list(3)
Sep 15 Python
python读取word文档的方法
May 09 Python
python下paramiko模块实现ssh连接登录Linux服务器
Jun 03 Python
举例讲解Python中的Null模式与桥接模式编程
Feb 02 Python
Django Admin实现上传图片校验功能
Mar 06 Python
python自带的http模块详解
Nov 06 Python
安装python时MySQLdb报错的问题描述及解决方法
Mar 20 Python
python使用turtle绘制分形树
Jun 22 Python
python安装pywin32clipboard的操作方法
Jan 24 Python
pyenv与virtualenv安装实现python多版本多项目管理
Aug 17 Python
wxpython实现按钮切换界面的方法
Nov 19 Python
Python依赖包迁移到断网环境操作
Jul 13 Python
Django 日志配置按日期滚动的方法
Jan 31 #Python
Python类的继承用法示例
Jan 31 #Python
判断python对象是否可调用的三种方式及其区别详解
Jan 31 #Python
python3使用QQ邮箱发送邮件
May 20 #Python
Python实现FTP弱口令扫描器的方法示例
Jan 31 #Python
对python条件表达式的四种实现方法小结
Jan 30 #Python
python从子线程中获得返回值的方法
Jan 30 #Python
You might like
用PHP实现浏览器点击下载TXT文档的方法详解
2013/06/02 PHP
PHP的PDO常用类库实例分析
2016/04/07 PHP
javascript showModalDialog 内跳转页面的问题
2010/11/25 Javascript
javascript动态加载实现方法一
2012/08/22 Javascript
三种检测iPhone/iPad设备方向的方法
2014/04/23 Javascript
JavaScript通过元素的ID和name设置样式
2014/07/08 Javascript
jquery向上向下取整适合分页查询
2014/09/06 Javascript
Json解析的方法小结
2016/06/22 Javascript
ExtJS 4.2 Grid组件单元格合并的方法
2016/10/12 Javascript
JAVA中截取字符串substring用法详解
2017/04/14 Javascript
获取url中用&amp;隔开的参数实例(分享)
2017/05/28 Javascript
详解Vue2 添加对scss的支持
2019/01/02 Javascript
python将xml xsl文件生成html文件存储示例讲解
2013/12/03 Python
python自动化测试之连接几组测试包实例
2014/09/28 Python
python去除所有html标签的方法
2015/05/05 Python
如何准确判断请求是搜索引擎爬虫(蜘蛛)发出的请求
2015/10/13 Python
Python自动化部署工具Fabric的简单上手指南
2016/04/19 Python
python中lambda()的用法
2017/11/16 Python
Python用户推荐系统曼哈顿算法实现完整代码
2017/12/01 Python
用Python进行简单图像识别(验证码)
2018/01/19 Python
使用Python制作表情包实现换脸功能
2019/07/19 Python
python 中xpath爬虫实例详解
2019/08/26 Python
python matplotlib折线图样式实现过程
2019/11/04 Python
构建高效的python requests长连接池详解
2020/05/02 Python
Python Excel vlookup函数实现过程解析
2020/06/22 Python
如何向scrapy中的spider传递参数的几种方法
2020/11/18 Python
支持IE8的纯css3开发的响应式设计动画菜单教程
2014/11/05 HTML / CSS
澳大利亚领先的孕妇服装品牌:Mamaway
2018/08/14 全球购物
MediaMarkt比利时:欧洲最大电器连锁店
2020/12/21 全球购物
财务会计专业毕业生自荐信
2013/10/02 职场文书
表决心的诗句大全
2014/03/11 职场文书
啤酒节策划方案
2014/05/28 职场文书
工厂仓管员岗位职责范本
2014/07/17 职场文书
事业单位工作人员年度考核个人总结
2015/02/12 职场文书
大学生活委员竞选稿
2015/11/21 职场文书
2019年12月24日平安夜祝福语集锦
2019/12/24 职场文书