題目:
21. 合并兩個有序鏈表
將兩個升序鏈表合并為一個新的 升序 鏈表并回傳,新鏈表是通過拼接給定的兩個鏈表的所有節點組成的,
示例:
輸入:1->2->4, 1->3->4
輸出:1->1->2->3->4->4
解題思路:
就是一個關于鏈表的排序問題,先新建一個鏈表,然后把兩個鏈表相互比較,選出比較小的那個數,指標指向小的數,兩個鏈表的指標依次向后移動,直到有一方鏈表的指標為空時結束,最后在后面加上鏈表1或鏈表2的最后一個元素,
Code:
# Definition for singly-linked list.
# class ListNode:
# def __init__(self, val=0, next=None):
# self.val = val
# self.next = next
class Solution:
def mergeTwoLists(self, l1: ListNode, l2: ListNode) -> ListNode:
begin = ListNode(0)
cur = begin
while l1 and l2:
if l1.val < l2.val:
cur.next = l1
l1 = l1.next
else:
cur.next = l2
l2 = l2.next
cur = cur.next
cur.next = l1 or l2
return begin.next
運行結果:

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/238693.html
標籤:python
上一篇:微服務之間如何共享DTO?
下一篇:arduino小車除錯不成功
