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使用百度翻译进行中翻英示例
Apr 14 Python
初学Python函数的笔记整理
Apr 07 Python
Python中import导入上一级目录模块及循环import问题的解决
Jun 04 Python
Python基础之getpass模块详细介绍
Aug 10 Python
python 字符串只保留汉字的方法
Nov 16 Python
Python搭建Spark分布式集群环境
Jul 05 Python
Python3.7 读取 mp3 音频文件生成波形图效果
Nov 05 Python
Python爬虫之Spider类用法简单介绍
Aug 04 Python
python如何设置静态变量
Sep 07 Python
python Zmail模块简介与使用示例
Dec 19 Python
地图可视化神器kepler.gl python接口的使用方法
Dec 22 Python
基于Python编写简易版的天天跑酷游戏的示例代码
Mar 23 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
双料怀旧--SHARP GF515的维护、修理和简单调试
2021/03/02 无线电
PHP中绘制图像的一些函数总结
2014/11/19 PHP
幻宇的层模拟窗口效果-提供演示和下载
2007/01/20 Javascript
js 小数取整的函数
2010/05/10 Javascript
Javascript笔记一 js以及json基础使用说明
2010/05/22 Javascript
JS 毫秒转时间示例代码
2013/09/22 Javascript
jQuery中用dom操作替代正则表达式
2014/12/29 Javascript
jQuery简单实现日历的方法
2015/05/04 Javascript
浅谈javascript的Array.prototype.slice.call
2015/08/31 Javascript
Bootstrap风格的zTree右键菜单
2017/02/17 Javascript
详解Angular 自定义结构指令
2017/06/21 Javascript
zTree异步加载展开第一级节点的实现方法
2017/09/05 Javascript
vue2实现数据请求显示loading图
2017/11/28 Javascript
vue2.0 + ele的循环表单及验证字段方法
2018/09/18 Javascript
jQuery+PHP实现上传裁剪图片
2020/06/29 jQuery
uin-app+mockjs实现本地数据模拟
2020/08/26 Javascript
Python 比较文本相似性的方法(difflib,Levenshtein)
2018/10/15 Python
Python 带有参数的装饰器实例代码详解
2018/12/06 Python
python读取有密码的zip压缩文件实例
2019/02/08 Python
python 获取等间隔的数组实例
2019/07/04 Python
如何在Django配置文件里配置session链接
2019/08/06 Python
python利用百度云接口实现车牌识别的示例
2020/02/21 Python
Python selenium爬取微信公众号文章代码详解
2020/08/12 Python
如何用Django处理gzip数据流
2021/01/29 Python
纯CSS3实现表单验证效果(非常不错)
2017/01/18 HTML / CSS
美特斯邦威官方商城:邦购网
2016/10/13 全球购物
网络维护管理员的自我评价分享
2013/11/11 职场文书
工商管理实习生自我鉴定范文
2013/12/18 职场文书
档案接收函范文
2014/01/10 职场文书
护士在校生自荐信
2014/02/01 职场文书
个性与发展自我评价
2014/02/11 职场文书
表决心的诗句大全
2014/03/11 职场文书
新年晚会主持词开场白
2015/05/28 职场文书
《作风建设永远在路上》心得体会
2016/01/21 职场文书
Python面向对象之内置函数相关知识总结
2021/06/24 Python
Apache POI的基本使用详解
2021/11/07 Servers