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?