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程序中访问Java类的简单示例
Apr 20 Python
Python抓取框架 Scrapy的架构
Aug 12 Python
详解python eval函数的妙用
Nov 16 Python
PyQt5每天必学之QSplitter实现窗口分隔
Apr 19 Python
Python3.6简单反射操作示例
Jun 14 Python
python切片(获取一个子列表(数组))详解
Aug 09 Python
python使用信号量动态更新配置文件的操作
Apr 01 Python
Pycharm配置PyQt5环境的教程
Apr 02 Python
python中什么是面向对象
Jun 11 Python
tensorflow 2.0模式下训练的模型转成 tf1.x 版本的pb模型实例
Jun 22 Python
基于python实现删除指定文件类型
Jul 21 Python
Python Pygame实战之塔防游戏的实现
Mar 17 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新手上路(十三)
2006/10/09 PHP
Linux下 php5 MySQL5 Apache2 phpMyAdmin ZendOptimizer安装与配置[图文]
2008/11/18 PHP
PHP 采集程序 常用函数
2008/12/18 PHP
php头像上传预览实例代码
2017/05/02 PHP
win10 apache配置虚拟主机后localhost无法使用的解决方法
2018/01/27 PHP
laravel 自定义常量的两种方案
2019/10/14 PHP
用js代码改变单选框选中状态的简单实例
2013/12/18 Javascript
jQuery插件pagewalkthrough实现引导页效果
2015/07/05 Javascript
confirm确认对话框的实现方法总结
2016/06/17 Javascript
浅谈addEventListener和attachEvent的区别
2016/07/14 Javascript
学习使用bootstrap的modal和carousel
2016/12/09 Javascript
JS实现的全排列组合算法示例
2017/10/09 Javascript
Vue全家桶实践项目总结(推荐)
2017/11/04 Javascript
vue和webpack项目构建过程常用的npm命令详解
2018/06/15 Javascript
原生JS实现动态加载js文件并在加载成功后执行回调函数的方法
2020/12/30 Javascript
JavaScript设计模式之命令模式实例分析
2019/01/16 Javascript
vue使用高德地图根据坐标定位点的实现代码
2019/08/22 Javascript
Webpack按需加载打包chunk命名的方法
2019/09/22 Javascript
JavaScript数组排序小程序实现解析
2020/01/13 Javascript
解决js中的setInterval清空定时器不管用问题
2020/11/17 Javascript
[57:24]LGD vs VGJ.T 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
Python利用Beautiful Soup模块修改内容方法示例
2017/03/27 Python
Python实现的凯撒密码算法示例
2018/04/12 Python
浅谈python3发送post请求参数为空的情况
2018/12/28 Python
Python可变和不可变、类的私有属性实例分析
2019/05/31 Python
Python箱型图处理离群点的例子
2019/12/09 Python
pytorch加载自定义网络权重的实现
2020/01/07 Python
python读取多层嵌套文件夹中的文件实例
2020/02/27 Python
Woolworth官网:澳洲第一大超市
2017/06/25 全球购物
锐步英国官网:Reebok英国
2019/11/29 全球购物
销售实习自我鉴定
2013/12/07 职场文书
总经理岗位职责范本
2014/02/02 职场文书
高三家长寄语
2014/04/03 职场文书
企业务虚会发言材料
2014/10/20 职场文书
民主评议党员自我鉴定
2014/10/21 职场文书
党员证明信
2015/06/19 职场文书