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中使用PIL模块处理图像的教程
Apr 29 Python
Python字符串处理之count()方法的使用
May 18 Python
python编程实现随机生成多个椭圆实例代码
Jan 03 Python
Python中利用xpath解析HTML的方法
May 14 Python
Python json模块dumps、loads操作示例
Sep 06 Python
python  Django中的apps.py的目的是什么
Oct 15 Python
python爬虫之urllib库常用方法用法总结大全
Nov 14 Python
python基础知识(一)变量与简单数据类型详解
Apr 17 Python
Python中字符串与编码示例代码
May 20 Python
python装饰器原理与用法深入详解
Dec 19 Python
在Pytorch中计算自己模型的FLOPs方式
Dec 30 Python
解决python pandas读取excel中多个不同sheet表格存在的问题
Jul 14 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
一个用于网络的工具函数库
2006/10/09 PHP
将一维或多维的数组连接成一个字符串的php代码
2010/08/08 PHP
PHP如何通过传引用的思想实现无限分类(代码简单)
2015/10/13 PHP
基于jquery的direction图片渐变动画效果
2010/05/24 Javascript
jquery刷新页面的实现代码(局部及全页面刷新)
2011/07/11 Javascript
setInterval与clearInterval的使用示例代码
2014/01/28 Javascript
jquery实现瀑布流效果分享
2014/03/26 Javascript
jQuery插件jquery-barcode实现条码打印的方法
2015/11/25 Javascript
JS表单验证的代码(常用)
2016/04/08 Javascript
Node.js+Express配置入门教程详解
2016/05/19 Javascript
浅谈React 属性和状态的一些总结
2016/11/21 Javascript
js实现图片切换(动画版)
2016/12/25 Javascript
详解在Angularjs中ui-sref和$state.go如何传递参数
2017/04/24 Javascript
JavaScript 跨域之POST实现方法
2018/05/07 Javascript
浅谈ElementUI中switch回调函数change的参数问题
2018/08/24 Javascript
JS 正则表达式验证密码、邮箱格式的实例代码
2018/10/28 Javascript
Python使用Redis实现作业调度系统(超简单)
2016/03/22 Python
使用python实现简单五子棋游戏
2019/06/18 Python
python输出数学符号实例
2020/05/11 Python
Python分类测试代码实例汇总
2020/07/23 Python
Python中常用的os操作汇总
2020/11/05 Python
用python查找统一局域网下ip对应的mac地址
2021/01/13 Python
python中Pexpect的工作流程实例讲解
2021/03/02 Python
Allsole美国/加拿大:英国一家专门出售品牌鞋子的网站
2018/10/21 全球购物
Radley英国官网:英国莱德利小狗包
2019/03/21 全球购物
介绍下Lucene建立索引的过程
2016/03/02 面试题
经济与贸易专业应届生求职信
2013/11/19 职场文书
内刊编辑求职自荐书范文
2014/02/19 职场文书
超市周年庆活动方案
2014/08/16 职场文书
计划生育汇报材料
2014/12/26 职场文书
5.12护士节活动总结
2015/02/10 职场文书
企业财务总监岗位职责
2015/04/03 职场文书
合同审查法律意见书
2015/06/04 职场文书
CSS3实现的3D隧道效果
2021/04/27 HTML / CSS
javascript之Object.assign()的痛点分析
2022/03/03 Javascript
nginx 添加http_stub_status_module模块
2022/05/25 Servers