【JS】【LeetCode】21. 合并两个有序链表
解题思路:
已知是两个有序链表了,那么循环链表 进行比较,将较小的赋值给链表;具体注意事项 在👇 注释中
/** * Definition for singly-linked list. * function ListNode(val, next) { * this.val = (val===undefined ? 0 : val) * this.next = (next===undefined ? null : next) * } */ /** * @param {ListNode} l1 * @param {ListNode} l2 * @return {ListNode} */ var mergeTwoLists = function(l1, l2) { var newL = new ListNode() // 新建链表 var res = newL while(l1 !== null && l2 !== null){ //循环链表 比较大小进行赋值 if(l1.val < l2.val){ newL.next = l1 l1=l1.next // next到下一位(这点很重要) } else { newL.next = l2 l2=l2.next //同上,很重要 } newL = newL.next // next到下一位,重要 } newL.next = (l1 === null) ? l2 : l1 // 当其中一个循环完毕后,将另一个直接赋值过去 return res.next };