Write a Program to Merge Two Sorted Lists
# 21. Merge Two Sorted Lists
You are given the heads of two sorted linked lists list1 and list2.
Merge the two lists in a one sorted list. The list should be made by splicing together the nodes of the first two lists.
Return the head of the merged linked list.
### Example 1: ``` Input: list1 = [1,2,4], list2 = [1,3,4] Output: [1,1,2,3,4,4] ```
### Example 2: ``` Input: list1 = [], list2 = [] Output: [] ```
Constraints: ``` The number of nodes in both lists is in the range [0, 50]. -100 <= Node.val <= 100 Both list1 and list2 are sorted in non-decreasing order. ```
/** * Definition for singly-linked list. * function ListNode(val, next) { * this.val = (val===undefined ? 0 : val) * this.next = (next===undefined ? null : next) * } */ /** * @param list1 * @param list2 * @return mergedList */ const mergeTwoLists = function(list1, list2) { const mergedList = {val: -1, next: null}; let tmpList = mergedList; while(list1 && list2) { if(list1.val > list2.val) { tmpList.next = list2; list2 = list2.next; } else { tmpList.next = list1; list1 = list1.next; } tmpList = tmpList.next; } tmpList.next = list1 || list2; return mergedList.next; };