Skip to content

Instantly share code, notes, and snippets.

@Rutvik17
Created August 9, 2021 01:58
Show Gist options
  • Select an option

  • Save Rutvik17/6ecf6941da91bdc785f1392e262d2039 to your computer and use it in GitHub Desktop.

Select an option

Save Rutvik17/6ecf6941da91bdc785f1392e262d2039 to your computer and use it in GitHub Desktop.
Merge Two Sorted List
/*
Merge two sorted linked lists and return it as a sorted list. The list should be made by splicing together the nodes of the first two lists.
Example 1:
Input: l1 = [1,2,4], l2 = [1,3,4]
Output: [1,1,2,3,4,4]
Example 2:
Input: l1 = [], l2 = []
Output: []
Example 3:
Input: l1 = [], l2 = [0]
Output: [0]
Constraints:
The number of nodes in both lists is in the range [0, 50].
-100 <= Node.val <= 100
Both l1 and l2 are sorted in non-decreasing order.
*/
/**
* @param {ListNode} l1
* @param {ListNode} l2
* @return {ListNode}
*/
var mergeTwoLists = function(l1, l2) {
let preHead = new ListNode(-1);
let prev = preHead;
while(l1 != null && l2 != null) {
if (l1.val <= l2.val) {
prev.next = l1;
l1 = l1.next;
} else {
prev.next = l2;
l2 = l2.next;
}
prev = prev.next;
}
// At least one of l1 and l2 can still have nodes at this point, so connect
// the non-null list to the end of the merged list.
prev.next = l1 === null ? l2 : l1;
return preHead.next;
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment