Python实现合并两个有序链表的方法示例

 更新时间:2019年01月31日 09:37:16   作者:lin-chang  
这篇文章主要介绍了Python实现合并两个有序链表的方法,涉及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编码操作技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程

希望本文所述对大家Python程序设计有所帮助。

相关文章

  • Tensorflow训练模型越来越慢的2种解决方案

    Tensorflow训练模型越来越慢的2种解决方案

    今天小编就为大家分享一篇Tensorflow训练模型越来越慢的2种解决方案,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02
  • python跳出双层for循环的解决方法

    python跳出双层for循环的解决方法

    今天小编就为大家分享一篇python跳出双层for循环的解决方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-06-06
  • 详细介绍pandas的DataFrame的append方法使用

    详细介绍pandas的DataFrame的append方法使用

    这篇文章主要介绍了详细介绍pandas的DataFrame的append方法使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • python 生成器和迭代器的原理解析

    python 生成器和迭代器的原理解析

    这篇文章主要介绍了python 生成器和迭代器的原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-10-10
  • 浅谈Python数据类型之间的转换

    浅谈Python数据类型之间的转换

    下面小编就为大家带来一篇浅谈Python数据类型之间的转换。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-06-06
  • python倒序for循环实例

    python倒序for循环实例

    这篇文章主要介绍了python倒序for循环实例,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-05-05
  • 一文教你PyCharm如何有效地添加源与库

    一文教你PyCharm如何有效地添加源与库

    在使用PyCharm进行Python开发的时候,很多时候我们需要添加库或者设置源,下面我们就来和大家详细介绍一下如何在PyCharm中添加源和库吧
    2025-03-03
  • Python内建属性getattribute拦截器使用详解

    Python内建属性getattribute拦截器使用详解

    这篇文章主要为大家介绍了Python内建属性getattribute拦截器使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • 一文掌握6种Python中常用数据库操作及代码

    一文掌握6种Python中常用数据库操作及代码

    在数据处理和管理领域,Python作为一种高效、易用的编程语言,拥有丰富的数据库操作模块,可以轻松实现对关系型数据库的数据操作,本文将介绍六种常见的Python数据库操作模块,需要的可以参考下
    2023-12-12
  • Python获取多进程执行的返回值实现

    Python获取多进程执行的返回值实现

    本文主要介绍了Python获取多进程执行的返回值实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03

最新评论