1. 程式人生 > 實用技巧 >leetcode_21: 合併兩個有序連結串列

leetcode_21: 合併兩個有序連結串列

將兩個升序連結串列合併為一個新的 升序 連結串列並返回。新連結串列是通過拼接給定的兩個連結串列的所有節點組成的。



示例:

輸入:1->2->4, 1->3->4
輸出:1->1->2->3->4->4

來源:力扣(LeetCode)
連結:https://leetcode-cn.com/problems/merge-two-sorted-lists
著作權歸領釦網路所有。商業轉載請聯絡官方授權,非商業轉載請註明出處。
#解法1:迭代
# 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:
        ll=ListNode()
        p=ll
        while l1 and l2:
            if l1.val<l2.val:
                p.next=l1
                l1=l1.next
            else:
                p.next=l2
                l2=l2.next
            p=p.next
        if l1:
            p.next=l1
        if l2:
            p.next=l2
        
        return ll.next