第6道算法题
题目要求:将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。
我的思路:将两头作比较,小的next对象应该指向自身的next还是上一次比较中较小的呢,则继续进行比较,更小的就是next,抽象成递归
/**
* @param {ListNode} list1
* @param {ListNode} list2
* @return {ListNode}
*/
var mergeTwoLists = function(list1, list2) {
if(list1===null){
return list2
}
if(list2===null){
return list1
}
if(list1.val<list2.val){
list1.next = mergeTwoLists(list1.next,list2)
return list1
}else{
list2.next = mergeTwoLists(list2.next,list1)
return list2
}
};