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设计模式之观察者模式实例
Apr 26 Python
python实现从一组颜色中找出与给定颜色最接近颜色的方法
Mar 19 Python
常见的在Python中实现单例模式的三种方法
Apr 08 Python
python实现的正则表达式功能入门教程【经典】
Jun 05 Python
Python的argparse库使用详解
Oct 09 Python
Python/Django后端使用PIL Image生成头像缩略图
Apr 30 Python
Python使用sklearn库实现的各种分类算法简单应用小结
Jul 04 Python
Python中注释(多行注释和单行注释)的用法实例
Aug 28 Python
解决安装pyqt5之后无法打开spyder的问题
Dec 13 Python
python pip安装包出现:Failed building wheel for xxx错误的解决
Dec 25 Python
Python爬虫解析网页的4种方式实例及原理解析
Dec 30 Python
python自动从arxiv下载paper的示例代码
Dec 05 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
Can't create/write to file 'C:\WINDOWS\TEMP\...MYSQL报错解决方法
2011/06/30 PHP
写一段简单的PHP建立文件夹代码
2015/01/06 PHP
php设计模式之组合模式实例详解【星际争霸游戏案例】
2020/03/27 PHP
JQuery之focus函数使用介绍
2013/08/20 Javascript
Jquery通过JSON字符串创建JSON对象
2014/08/24 Javascript
事件委托与阻止冒泡阻止其父元素事件触发
2014/09/02 Javascript
jQuery实现带幻灯的tab滑动切换风格菜单代码
2015/08/27 Javascript
AngularJS基础 ng-srcset 指令简单示例
2016/08/03 Javascript
详解JavaScript权威指南之对象
2016/09/27 Javascript
JS中页面与页面之间超链接跳转中文乱码问题的解决办法
2016/12/15 Javascript
js中小数向上取整数,向下取整数,四舍五入取整数的实现(必看篇)
2017/02/13 Javascript
原生javascript实现的全屏滚动功能示例
2017/09/19 Javascript
bootstrap table方法之expandRow-collapseRow展开或关闭当前行数据
2020/08/09 Javascript
JQ图片文件上传之前预览功能的简单实例(分享)
2017/11/12 Javascript
基于Vue制作组织架构树组件
2017/12/06 Javascript
JS和Canvas实现图片的预览压缩和上传功能
2018/03/30 Javascript
JS实现的对象去重功能示例
2019/06/04 Javascript
原生JavaScript创建不可变对象的方法简单示例
2020/05/07 Javascript
Django 1.10以上版本 url 配置注意事项详解
2019/08/05 Python
Windows 下python3.8环境安装教程图文详解
2020/03/11 Python
Django ValuesQuerySet转json方式
2020/03/16 Python
MoviePy简介及Python视频剪辑自动化
2020/12/18 Python
HTML5时代CSS设置漂亮字体取代图片
2014/09/04 HTML / CSS
Nordgreen美国官网:在线购买极简主义斯堪的纳维亚手表
2019/07/24 全球购物
JD Sports西班牙:英国领先的运动服装公司
2020/01/06 全球购物
中国电子产品批发商/跨境电商/外贸网:Sunsky-online
2020/04/20 全球购物
超市实习总结自我鉴定
2013/09/19 职场文书
中专生毕业自我鉴定
2013/11/01 职场文书
音乐学个人的自荐书范文
2013/11/26 职场文书
给市场的环保建议书
2014/05/14 职场文书
汽车广告策划方案
2014/05/31 职场文书
个人剖析材料及整改措施
2014/10/07 职场文书
施工安全保证书
2015/05/09 职场文书
创业计划书之养殖业
2019/10/11 职场文书
python使用XPath解析数据爬取起点小说网数据
2021/04/22 Python
Python使用海龟绘图实现贪吃蛇游戏
2021/06/18 Python