日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

python合并列表并按升序排序_在python中按升序合并两个排序的链接列表:单链接列表指针更新问题...

發(fā)布時(shí)間:2025/1/21 python 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python合并列表并按升序排序_在python中按升序合并两个排序的链接列表:单链接列表指针更新问题... 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

你需要分配

l1

l2

tempNode.val

L1

節(jié)點(diǎn)本身到

tempNode

# Definition for singly-linked list.

class ListNode:

def __init__(self, x=None):

self.val = x

self.next = None

a = ListNode(5)

b = ListNode(10)

c = ListNode(20)

e = ListNode(0)

f = ListNode(5)

g = ListNode(21)

h = ListNode(30)

a.next = b

b.next = c

e.next = f

f.next = g

g.next = h

class Solution:

def mergeTwoLists(self, l1, l2):

returnNode = tempNode = ListNode()

while l1 or l2:

if not l1:

print('l1 is empty; adding value from l2:', l2.val)

tempNode.val = l2.val

tempNode.next = ListNode()

tempNode = tempNode.next

l2 = l2.next

elif not l2:

print('l2 is empty; adding value from l1:', l1.val)

tempNode.val = l1.val

tempNode.next = ListNode()

tempNode = tempNode.next

l1 = l1.next

elif l1.val < l2.val:

print("l1.val < l2.val", l1.val, l2.val)

tempNode.val = l1.val

tempNode.next = ListNode()

tempNode = tempNode.next

l1 = l1.next

elif l1.val == l2.val:

print("l1.val == l2.val", l1.val, l2.val)

#If both the values are equal, assign l1's value first

#then make l2's value follow l1's value using tempNode

tempNode.val = l1.val

tempNode.next = ListNode() #Because of the previous statement, after execution of this statement, I'm assuming tempNode.val is now l1.val and tempNode.next = l1.next

tempNode = tempNode.next

#tempNode.next is supposed to be equal to l1.next, instead assign it to l2

tempNode.val = l2.val

tempNode.next = ListNode() #Because of the previous statement, after execution of this statement, I'm assuming tempNode.val is now l2.val and tempNode.next = l2.next

tempNode = tempNode.next

#Increment both l1 and l2

l1 = l1.next

l2 = l2.next

else:

print("l1.val > l2.val", l1.val, l2.val)

tempNode.val = l2.val

tempNode.next = ListNode()

tempNode = tempNode.next

l2 = l2.next

return returnNode

sol = Solution()

node = sol.mergeTwoLists(a, e)

while node and node.val is not None:

print(node.val)

node = node.next

l1.val > l2.val 5 0

l1.val == l2.val 5 5

l1.val < l2.val 10 21

l1.val < l2.val 20 21

l1 is empty; adding value from l2: 21

l1 is empty; adding value from l2: 30

0

5

5

10

20

21

30

總結(jié)

以上是生活随笔為你收集整理的python合并列表并按升序排序_在python中按升序合并两个排序的链接列表:单链接列表指针更新问题...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。