力扣Hot100--21.合并两个有序链表
力扣Hot100–21.合并两个有序链表
要求:将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。
解题思路:
1、每次比较两个链表当前节点的值,将较小值接入结果链表
2、将已接入节点的链表指针后移一位
3、当一个链表遍历完后,直接将另一个链表的剩余部分接入
代码:
class Solution:def mergeTwoLists(self, list1: Optional[ListNode], list2: Optional[ListNode]) -> Optional[ListNode]:New_list = ListNode(0)current = New_listl1 = list1l2 = list2while l1 and l2:if l1.val <= l2.val:current.next = l1l1 = l1.nextelse:current.next = l2l2 = l2.nextcurrent = current.nextcurrent.next = l1 if l1 else l2return New_list.next