資料內(nèi)容:
1. 合并兩個有序鏈表
題?描述
將兩個升序鏈表合并為?個新的升序鏈表并返回。新鏈表是通過拼接給定的兩個鏈表的所有節(jié)點組成的。
示例:
輸?:1->2->4, 1->3->4
輸出:1->1->2->3->4->4
前置知識
遞歸
鏈表
思路
本題可以使?遞歸來解,將兩個鏈表頭部較?的?個與剩下的元素合并,并返回排好序的鏈表
頭,當兩條鏈表中的?條為空時終?遞歸。
關鍵點
掌握鏈表數(shù)據(jù)結構
考慮邊界情況
代碼
JS Code:
/**
* Definition for singly-linked list.
* function ListNode(val) {
* this.val = val;
* this.next = null;
* }
*/
/**
* @param {ListNode} l1
* @param {ListNode} l2
* @return {ListNode}
*/
const mergeTwoLists = function (l1, l2) {
if (l1 === null) {
return l2;
}
if (l2 === null) {
return l1;
}
if (l1.val < l2.val) {
l1.next = mergeTwoLists(l1.next, l2);
return l1;
} else {
l2.next = mergeTwoLists(l1, l2.next);
return l2;
}
};