[21]合并两个有序链表
1 # 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 2 # 3 # 4 # 5 # 示例 1: 6 # 7 # 8 # 输入:l1 = [1,2,4], l2 = [1,3,4] 9 # 输出:[1,1,2,3,4,4] 10 # 11 # 12 # 示例 2: 13 # 14 # 15 # 输入:l1 = [], l2 = [] 16 # 输出:[] 17 # 18 # 19 # 示例 3: 20 # 21 # 22 # 输入:l1 = [], l2 = [0] 23 # 输出:[0] 24 # 25 # 26 # 27 # 28 # 提示: 29 # 30 # 31 # 两个链表的节点数目范围是 [0, 50] 32 # -100 <= Node.val <= 100 33 # l1 和 l2 均按 非递减顺序 排列 34 # 35 # Related Topics 递归 链表 👍 1974 👎 0 36 37 38 # leetcode submit region begin(Prohibit modification and deletion) 39 # Definition for singly-linked list. 40 class ListNode: 41 def __init__(self, val=0, next=None): 42 self.val = val 43 self.next = next 44 45 46 class Solution: 47 def mergeTwoLists(self, l1: ListNode, l2: ListNode) -> ListNode: 48 dummy = ListNode(-1) 49 pointer = dummy 50 while l1 and l2: 51 if l1.val <= l2.val: 52 pointer.next = l1 53 pointer, l1 = l1, l1.next 54 else: 55 pointer.next = l2 56 pointer, l2 = l2, l2.next 57 if l1: 58 pointer.next = l1 59 if l2: 60 pointer.next = l2 61 return dummy.next 62 # leetcode submit region end(Prohibit modification and deletion)