(一)需要

将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。

示例 1:

输出:l1 = [1,2,4], l2 = [1,3,4]输入:[1,1,2,3,4,4]

示例 2:

输出:l1 = [], l2 = []输入:[]

(二)思路及代码

/** * Definition for singly-linked list. * class ListNode { *     val: number *     next: ListNode | null *     constructor(val?: number, next?: ListNode | null) { *         this.val = (val===undefined ? 0 : val) *         this.next = (next===undefined ? null : next) *     } * } */function mergeTwoLists(list1: ListNode | null, list2: ListNode | null): ListNode | null {  let l1 = list1 // 定义新的两个头结点  let l2 = list2  let head = {next : null} // 定义新链表的头节点  let prev = head  while (l1 && l2){    if(l1.val<l2.val){      prev.next = l1      l1 = l1.next    }else{      prev.next = l2      l2 = l2.next    }    prev = prev.next  }  if(l1) prev.next = l1 // 排除了为0,null的状况  if(l2) prev.next = l2  return head.next};

写在最初的话

学习路上,经常会懈怠

《有想学技术须要监督的同学嘛~》
https://mp.weixin.qq.com/s/Fy...