cpp

ListNode mergeTwoLists(ListNode l1, ListNode* l2) {

ListNode *dummy = new ListNode(-1);

//no p++ to move to next pointer

for(ListNode *p=dummy;l1||l2;p=p->next){

int val1=l1!=nullptr? l1->val : INT_MAX;

int val2=l2!=nullptr? l2->val : INT_MAX;

if(val1<val2){

p->next=l1;

l1=l1->next;

}

else{

p->next=l2;

l2=l2->next;

}

}

return dummy->next;

}

Last updated

Was this helpful?