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输出一个杨辉三角的例子
Jun 13 Python
python基础教程之对象和类的实际运用
Aug 29 Python
详解Python3的TFTP文件传输
Jun 26 Python
python读取csv和txt数据转换成向量的实例
Feb 12 Python
Python实现基于SVM的分类器的方法
Jul 19 Python
Python 二叉树的层序建立与三种遍历实现详解
Jul 29 Python
python多继承(钻石继承)问题和解决方法简单示例
Oct 21 Python
解决pandas展示数据输出时列名不能对齐的问题
Nov 18 Python
PyTorch 普通卷积和空洞卷积实例
Jan 07 Python
详解Python3 中的字符串格式化语法
Jan 15 Python
Pyqt5 关于流式布局和滚动条的综合使用示例代码
Mar 24 Python
Python中实现输入一个整数的案例
May 03 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 目录遍历、删除 函数的使用介绍
2013/04/28 PHP
PHP中使用xmlreader读取xml数据示例
2014/12/29 PHP
php绘制一个矩形的方法
2015/01/24 PHP
PHP的关于变量和日期处理的一些面试题目整理
2015/08/10 PHP
谈谈你对Zend SAPIs(Zend SAPI Internals)的理解
2015/11/10 PHP
学习php设计模式 php实现原型模式(prototype)
2015/12/07 PHP
CodeIgniter自定义控制器MY_Controller用法分析
2016/01/20 PHP
yii2 RBAC使用DbManager实现后台权限判断的方法
2016/07/23 PHP
PHP7如何开启Opcode打造强悍性能详解
2018/05/11 PHP
php常用字符串查找函数strstr()与strpos()实例分析
2019/06/21 PHP
javascript-简单的日历实现及Date对象语法介绍(附图)
2013/05/30 Javascript
JS获取随机数函数可自定义最小值最大值
2014/05/08 Javascript
通过Tabs方法基于easyUI+bootstrap制作工作站
2016/03/28 Javascript
基于BootStrap Metronic开发框架经验小结【一】框架总览及菜单模块的处理
2016/05/12 Javascript
详解Javascript百度地图接口开发文档中的类和方法
2017/02/07 Javascript
vue中简单弹框dialog的实现方法
2018/02/26 Javascript
解决Vue 通过下表修改数组,页面不渲染的问题
2018/03/08 Javascript
vue打包通过image-webpack-loader插件对图片压缩优化操作
2020/11/12 Javascript
利用python批量给云主机配置安全组的方法教程
2017/06/21 Python
python3+opencv3识别图片中的物体并截取的方法
2018/12/05 Python
python与字符编码问题
2019/05/24 Python
Python matplotlib绘制饼状图功能示例
2019/09/10 Python
关于tensorflow的几种参数初始化方法小结
2020/01/04 Python
PythonPC客户端自动化实现原理(pywinauto)
2020/05/28 Python
Pytorch实现将模型的所有参数的梯度清0
2020/06/24 Python
Django+RestFramework API接口及接口文档并返回json数据操作
2020/07/12 Python
美国销售第一的智能手机和平板电脑保护壳:OtterBox
2017/12/21 全球购物
Bally美国官网:经典瑞士鞋履、手袋及配饰奢侈品牌
2018/05/18 全球购物
用Java语言将一个键盘输入的数字转化成中文输出
2013/01/25 面试题
基层工作经历证明
2014/01/13 职场文书
机关领导干部作风整顿整改措施
2014/09/19 职场文书
2014年幼儿园后勤工作总结
2014/11/10 职场文书
2015年元旦主持词结束语
2014/12/14 职场文书
乡镇一岗双责责任书
2015/01/29 职场文书
酒店工程部经理岗位职责
2015/04/09 职场文书
小学数学教学随笔
2015/08/14 职场文书