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 相关文章推荐
SublimeText 2编译python出错的解决方法(The system cannot find the file specified)
Nov 27 Python
在Django框架中伪造捕捉到的URLconf值的方法
Jul 18 Python
Python数据结构与算法之使用队列解决小猫钓鱼问题
Dec 14 Python
python 用正则表达式筛选文本信息的实例
Jun 05 Python
Python中的元组介绍
Jan 28 Python
Python增强赋值和共享引用注意事项小结
May 28 Python
python实现中文文本分句的例子
Jul 15 Python
python用类实现文章敏感词的过滤方法示例
Oct 27 Python
python调用c++返回带成员指针的类指针实例
Dec 12 Python
简单了解Python多态与属性运行原理
Jun 15 Python
使用pytorch实现线性回归
Apr 11 Python
python实现简易名片管理系统
Apr 11 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下mysql数据库操作类(改自discuz)
2010/07/03 PHP
我的php学习笔记(毕业设计)
2012/02/21 PHP
标准版Eclipse搭建PHP环境的详细步骤
2015/11/18 PHP
centos 7.2下搭建LNMP环境教程
2016/11/20 PHP
thinkPHP5.0框架模块设计详解
2017/03/18 PHP
php脚本守护进程原理与实现方法详解
2017/07/20 PHP
PHP反射基础知识回顾
2020/09/10 PHP
jQuery)扩展jQuery系列之一 模拟alert,confirm(一)
2010/12/04 Javascript
jquery 实现表单验证功能代码(简洁)
2012/07/03 Javascript
JavaScript高级程序设计(第3版)学习笔记2 js基础语法
2012/10/11 Javascript
Jquery节点遍历next与nextAll方法使用示例
2014/07/22 Javascript
JavaScript中数据结构与算法(一):栈
2015/06/19 Javascript
jQuery中extend函数详解
2015/07/13 Javascript
Javascript中的数据类型之旅
2015/10/18 Javascript
解决angular的post请求后SpringMVC后台接收不到参数值问题的方法
2015/12/10 Javascript
jQuery实现表格文本框淡入更改值后淡出效果
2016/09/27 Javascript
AngularJS实现Input格式化的方法
2016/11/07 Javascript
React Native之ListView实现九宫格效果的示例
2017/08/02 Javascript
在原生不支持的旧环境中添加兼容的Object.keys实现方法
2017/09/11 Javascript
JavaScript实用代码小技巧
2018/08/23 Javascript
create-react-app使用antd按需加载的样式无效问题的解决
2019/02/26 Javascript
详解vue-router的Import异步加载模块问题的解决方案
2020/05/13 Javascript
[11:33]DAC2018 4.5SOLO赛决赛 MidOne vs Paparazi第二场
2018/04/06 DOTA
[28:57]EG vs VGJ.T 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/16 DOTA
python使用psutil模块获取系统状态
2016/08/27 Python
Python基于pyCUDA实现GPU加速并行计算功能入门教程
2018/06/19 Python
Python tkinter三种布局实例详解
2020/01/06 Python
基于html和CSS3制作酷炫的导航栏
2015/09/23 HTML / CSS
关于webview适配H5上传照片或者视频文件的方法
2020/11/04 HTML / CSS
荷兰的时尚市场:To Be Dressed
2019/05/06 全球购物
餐厅筹备计划书
2014/04/25 职场文书
大学理论知识学习自我鉴定
2014/04/28 职场文书
教师职位说明书
2014/07/29 职场文书
导游词之台湾阿里山
2019/10/23 职场文书
Nginx设置HTTPS的方法步骤 443证书配置方法
2022/03/21 Servers
什么是Python装饰器?如何定义和使用?
2022/04/11 Python