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运算符重载用法实例
May 28 Python
Python输入二维数组方法
Apr 13 Python
django.db.utils.ProgrammingError: (1146, u“Table‘’ doesn’t exist”)问题的解决
Jul 13 Python
详解Numpy中的广播原则/机制
Sep 20 Python
解决PyCharm import torch包失败的问题
Oct 13 Python
python消除序列的重复值并保持顺序不变的实例
Nov 08 Python
python 利用pandas将arff文件转csv文件的方法
Feb 12 Python
python 自动轨迹绘制的实例代码
Jul 05 Python
Python中的延迟绑定原理详解
Oct 11 Python
Django框架表单操作实例分析
Nov 04 Python
解决pyshp UnicodeDecodeError的问题
Dec 06 Python
Python实现隐马尔可夫模型的前向后向算法的示例代码
Dec 31 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 中的批处理的实现
2007/06/14 PHP
php相当简单的分页类
2008/10/02 PHP
基于AppServ,XAMPP,WAMP配置php.ini去掉警告信息(NOTICE)的方法详解
2013/05/07 PHP
无需数据库在线投票调查php代码
2016/07/20 PHP
PHP中isset、empty的用法与区别示例详解
2020/11/05 PHP
Yii 实现数据加密和解密
2021/03/09 PHP
文本加密解密
2006/06/23 Javascript
js Map List 遍历使用示例
2013/07/10 Javascript
javascript如何使用bind指定接收者
2014/05/04 Javascript
Node.js编码规范
2014/07/14 Javascript
2014年最火的Node.JS后端框架推荐
2014/10/27 Javascript
JavaScript中操作字符串之localeCompare()方法的使用
2015/06/06 Javascript
封装的dialog插件 基于bootstrap模态对话框的简单扩展
2016/08/10 Javascript
JavaScript中push(),join() 函数 实例详解
2016/09/06 Javascript
bootstrap3使用bootstrap datetimepicker日期插件
2017/05/24 Javascript
浅谈es6 javascript的map数据结构
2017/12/14 Javascript
微信小程序实时聊天WebSocket
2018/07/05 Javascript
vue-router中的hash和history两种模式的区别
2018/07/17 Javascript
详解react native页面间传递数据的几种方式
2018/11/07 Javascript
浅谈关于vue中scss公用的解决方案
2019/12/02 Javascript
[01:02:04]EG vs Liquid 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.23
2019/09/05 DOTA
python 中的列表解析和生成表达式
2011/03/10 Python
利用python模拟sql语句对员工表格进行增删改查
2017/07/05 Python
Java实现的执行python脚本工具类示例【使用jython.jar】
2018/03/29 Python
利用numpy和pandas处理csv文件中的时间方法
2018/04/19 Python
python pands实现execl转csv 并修改csv指定列的方法
2018/12/12 Python
Python除法之传统除法、Floor除法及真除法实例详解
2019/05/23 Python
简单瞅瞅Python vars()内置函数的实现
2019/09/27 Python
Python time库基本使用方法分析
2019/12/13 Python
Python selenium爬取微信公众号文章代码详解
2020/08/12 Python
python字符串拼接+和join的区别详解
2020/12/03 Python
伦敦一卡通:The London Pass
2018/11/30 全球购物
JS原生实现轮播图的几种方法
2021/03/23 Javascript
思想政治自我鉴定
2013/10/06 职场文书
监理员的岗位职责
2013/11/13 职场文书
安装harbor作为docker镜像仓库的问题
2022/06/14 Servers