题目链接:https://leetcode-cn.com/problems/merge-two-sorted-lists/
难度:简单
描述:
将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。
提示:
链表节点数目范围:[0, 50]
题解
思路:
没什么好说的
# Definition for singly-linked list.# class ListNode:# def __init__(self, val=0, next=None):# self.val = val# self.next = nextclass Solution:def mergeTwoLists(self, list1: Optional[ListNode], list2: Optional[ListNode]) -> Optional[ListNode]:dummy = ListNode()temp, p, q = dummy, list1, list2while p is not None and q is not None:if p.val < q.val:temp.next = pp = p.nextelse:temp.next = qq = q.nexttemp = temp.nexttemp.next = p if q is None else qreturn dummy.next
# Definition for singly-linked list.# class ListNode:# def __init__(self, val=0, next=None):# self.val = val# self.next = nextclass Solution:def mergeTwoLists(self, list1: Optional[ListNode], list2: Optional[ListNode]) -> Optional[ListNode]:if list1 is None:return list2if list2 is None:return list1if list1.val < list2.val:list1.next = self.mergeTwoLists(list1.next, list2)return list1else:list2.next = self.mergeTwoLists(list1, list2.next)return list2
