# 合并两个有序链表
将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。
# 思路:
递归的空间复杂度O(T) = 递归调用的次数(R) * 计算时间复杂度的乘积O(s) O(T) = R * O(s)
在两个链表中找最小值,找到直接返回,最终返回为一个链表!
var mergeTwoLists = function(l1, l2) {
// 如果当前链表为null 返回对方链表
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;
}
};
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14