网络编程
位置:首页>> 网络编程>> Python编程>> Python实现合并两个有序链表的方法示例

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

作者:lin-chang  发布时间:2023-04-02 22:20:46 

标签: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程序设计有所帮助。

来源:https://blog.csdn.net/u011583025/article/details/85399644

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com