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的框架下的web app的详细教程
Apr 30 Python
Python实现的HTTP并发测试完整示例
Apr 23 Python
Python中.join()和os.path.join()两个函数的用法详解
Jun 11 Python
django认证系统实现自定义权限管理的方法
Jul 16 Python
浅谈Python中的异常和JSON读写数据的实现
Feb 27 Python
Python实现从N个数中找到最大的K个数
Apr 02 Python
Python实现爬取并分析电商评论
Jun 19 Python
Python 多线程C段扫描、检测 Ping扫描脚本的实现
Sep 03 Python
详解python命令提示符窗口下如何运行python脚本
Sep 11 Python
python基于win32api实现键盘输入
Dec 09 Python
selenium如何定位span元素的实现
Jan 13 Python
Python数据清洗工具之Numpy的基本操作
Apr 22 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
解密ThinkPHP3.1.2版本之模块和操作映射
2014/06/19 PHP
php+xml编程之SimpleXML的应用实例
2015/01/24 PHP
基于jQuery的让非HTML5浏览器支持placeholder属性的代码
2011/05/24 Javascript
JS 对输入框进行限制(常用的都有)
2013/07/30 Javascript
node.js中的http.createClient方法使用说明
2014/12/15 Javascript
浅谈nodeName,nodeValue,nodeType,typeof 的区别
2015/01/13 Javascript
BOM系列第二篇之定时器requestAnimationFrame
2016/08/17 Javascript
详解Javascript ES6中的箭头函数(Arrow Functions)
2016/08/24 Javascript
react-router4 嵌套路由的使用方法
2017/07/24 Javascript
详解Vue路由History mode模式中页面无法渲染的原因及解决
2017/09/28 Javascript
本地搭建微信小程序服务器的实现方法
2017/10/27 Javascript
Angular4学习笔记router的简单使用
2018/03/30 Javascript
ndm:NPM的桌面GUI应用程序
2018/10/15 Javascript
微信小程序与后台PHP交互的方法实例分析
2018/12/10 Javascript
JS中使用new Option()实现时间联动效果
2018/12/10 Javascript
jQuery实现开关灯效果
2020/08/02 jQuery
[51:27]LGD vs Liquid 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/19 DOTA
[01:10:48]完美世界DOTA2联赛PWL S2 GXR vs PXG 第一场 11.18
2020/11/18 DOTA
selenium+python实现自动化登录的方法
2018/09/04 Python
Python判断一个list中是否包含另一个list全部元素的方法分析
2018/12/24 Python
pycharm创建一个python包方法图解
2019/04/10 Python
Python日期时间Time模块实例详解
2019/04/15 Python
python 中如何获取列表的索引
2019/07/02 Python
Python使用type关键字创建类步骤详解
2019/07/23 Python
基于python全局设置id 自动化测试元素定位过程解析
2019/09/04 Python
丝芙兰墨西哥官网:Sephora墨西哥
2020/05/30 全球购物
经典c++面试题二
2015/08/14 面试题
高中毕业自我鉴定范文
2013/10/02 职场文书
安全承诺书范文
2014/03/26 职场文书
百日安全生产活动总结
2014/07/05 职场文书
食品质量与安全专业毕业生求职信
2014/08/11 职场文书
2014年英语教师工作总结
2014/12/03 职场文书
2014年学校后勤工作总结
2014/12/06 职场文书
大雁塔英文导游词
2015/02/10 职场文书
班级班风口号大全
2015/12/25 职场文书
小学2016年“我们的节日·重阳节”活动总结
2016/04/01 职场文书