Merge Two Sorted Lists | Leetcode Problem | Javascript Solution
Easy
Merge two sorted linked lists and return it as a new list. The new list should be made by splicing together the nodes of the first two lists.
Example:
Input: 1->2->4, 1->3->4 Output: 1->1->2->3->4->4
class ListNode {
constructor(val, next=null) {
this.val = val;
this.next = next;
}
}
const c = new ListNode(4);
const b = new ListNode(2, c);
const a = new ListNode(1, b);
const z = new ListNode(3);
const y = new ListNode(2, z);
const x = new ListNode(1, y);
var mergeTwoLists = function(l1, l2) {
let p1 = l1;
let p2 = l2;
let l3, p3;
if(l1) {
if (l2){
if(p1.val < p2.val) {
l3 = new ListNode(p1.val);
p1 = p1.next;
} else {
l3 = new ListNode(p2.val);
p2 = p2.next;
}
} else {
return l1;
}
} else if(l2) {
return l2;
} else {
return "";
}
p3 = l3;
while(p1 && p2) {
if(p1.val < p2.val) {
p3.next = new ListNode(p1.val);
p1 = p1.next;
} else {
p3.next = new ListNode(p2.val);
p2 = p2.next;
}
p3 = p3.next;
}
if (p1) {
p3.next = p1;
} else {
p3.next = p2;
}
return l3;
}
console.log(mergeTwoLists(a, x));
Run the code here: https://repl.it/@VinitKhandelwal/21-Merge-2-Sorted-Lists-Leetcode-Problem-Javascript-Solution
Comments
Post a Comment