Для этого я написал это решение
Код: Выделить всё
/**
* Definition for singly-linked list.
* function ListNode(val, next) {
* this.val = (val===undefined ? 0 : val)
* this.next = (next===undefined ? null : next)
* }
*/
/**
* @param {ListNode} list1
* @param {ListNode} list2
* @return {ListNode}
*/
var mergeLists = function(list1, list2, newList = new ListNode()) {
if (!list1 && !list2) return newList
if (!list1 && list2) {
newList.next = list2
return newList
}
if (!list2 && list1) {
newList.next = list1
return newList
}
if (list1.val >= list2.val) {
newList.next = list1
return mergeLists(list1.next, list2, newList.next)
}
if (list2.val > list1.val) {
newList.next = list2
return mergeLists(list1, list2.next, newList.next)
}
};
var mergeTwoLists = function(list1, list2) {
const lists = mergeLists(list1, list2)
return lists?.next
}
Подробнее здесь: https://stackoverflow.com/questions/793 ... e-solution
Мобильная версия