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中unittest用法实例
Sep 25 Python
在Docker上部署Python的Flask框架的教程
Apr 08 Python
在Python的Django框架中获取单个对象数据的简单方法
Jul 17 Python
在Python的一段程序中如何使用多次事件循环详解
Sep 07 Python
Python聊天室程序(基础版)
Apr 01 Python
使用pip安装python库的多种方式
Jul 31 Python
Python求正态分布曲线下面积实例
Nov 20 Python
Pyorch之numpy与torch之间相互转换方式
Dec 31 Python
使用TFRecord存取多个数据案例
Feb 17 Python
python GUI库图形界面开发之PyQt5计数器控件QSpinBox详细使用方法与实例
Feb 28 Python
如何实现在jupyter notebook中播放视频(不停地展示图片)
Apr 23 Python
pycharm实现print输出保存到txt文件
Jun 01 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实现的获取网站备案信息查询代码(360)
2013/09/23 PHP
php+mysqli使用面向对象方式查询数据库实例
2015/01/29 PHP
jQuery中:last-child选择器用法实例
2014/12/31 Javascript
jquery遍历函数siblings()用法实例
2015/12/24 Javascript
移动端翻页插件dropload.js(支持Zepto和jQuery)
2016/07/27 Javascript
Angularjs中$http以post请求通过消息体传递参数的实现方法
2016/08/05 Javascript
headjs实现网站并行加载但顺序执行JS
2016/11/29 Javascript
详解jquery easyui之datagrid使用参考
2016/12/05 Javascript
原生JS仿QQ阅读点击展开、收起效果
2017/03/08 Javascript
vue使用Axios做ajax请求详解
2017/06/07 Javascript
JavaScript 值类型和引用类型的初次研究(推荐)
2017/07/19 Javascript
vue-resource + json-server模拟数据的方法
2017/11/02 Javascript
解决vue build打包之后首页白屏的问题
2018/03/06 Javascript
基于rollup的组件库打包体积优化小结
2018/06/18 Javascript
Vue插件打包与发布的方法示例
2018/08/20 Javascript
angular4强制刷新视图的方法
2018/10/09 Javascript
详解Vue的组件中data选项为什么必须是函数
2020/08/17 Javascript
vue 授权获取微信openId操作
2020/11/13 Javascript
vue项目中js-cookie的使用存储token操作
2020/11/13 Javascript
jQuery实现简单弹幕制作
2020/12/10 jQuery
[02:22]2018DOTA2亚洲邀请赛VG赛前采访
2018/04/03 DOTA
Python的lambda匿名函数的简单介绍
2013/04/25 Python
Python3爬虫学习之将爬取的信息保存到本地的方法详解
2018/12/12 Python
python time.sleep()是睡眠线程还是进程
2019/07/09 Python
Django Xadmin多对多字段过滤实例
2020/04/07 Python
详解python第三方库的安装、PyInstaller库、random库
2021/03/03 Python
Willer台湾:日本高速巴士/夜行巴士预约
2017/07/09 全球购物
中专自我鉴定范文
2013/10/16 职场文书
2014大学生全国两会学习心得体会
2014/03/13 职场文书
房产代理公证处委托书
2014/04/04 职场文书
抽样调查项目计划书
2014/04/24 职场文书
2016年学校“6﹒26国际禁毒日”宣传活动总结
2016/04/05 职场文书
JS继承最简单的理解方式
2021/03/31 Javascript
详解Apache SkyWalking 告警配置指南
2021/04/22 Servers
python 模块重载的五种方法
2021/04/24 Python
MySQL普通表如何转换成分区表
2022/05/30 MySQL