function ListNode(val, next) {
this.val = (val === undefined ? 0 : val)
this.next = (next === undefined ? null : next)
}
var mergeTwoLists = function (list1, list2) {
let prehead = new ListNode(-1)
let prev = prehead
while(list1 !== null || list2!==null) {
if(list1 === null) {
prev.next = list2
break
}
if(list2 === null) {
prev.next = list1
break
}
if(list1.val <= list2.val) {
prev.next = list1
list1 = list1.next
} else {
prev.next = list2
list2 = list2.next
}
prev = prev.next
}
return prehead.next
};
var mergeTwoLists = function (list1, list2) {
if(list1 === null) {
return list2
} else if(list2 === null) {
return list1
} else if (list1.val <=list2.val) {
list1.next = mergeTwoLists(list1.next, list2)
return list1
} else {
list2.next = mergeTwoLists(list1, list2.next)
return list2
}
};