Merge Two Sorted Lists

 https://leetcode.com/problems/merge-two-sorted-lists/

class Solution {
public:
    ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) {
      if(l1==NULL) return l2;
      if(l2==NULL) return l1;
       ListNode* res;
      if(l1->val<=l2->val){
          res=l1;
          res->next=mergeTwoLists(l1->next,l2);
      }
        else{
            res=l2;
            res->next=mergeTwoLists(l1,l2->next);
        }
        return res;
    }
}; 


class Solution {
public:
    ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) {
        ListNode dummy = ListNode(0);
        ListNode* ans = &dummy;
        
        while(l1 && l2){
            if(l1 -> val < l2 -> val){
                ans -> next = l1;
                l1 = l1 -> next;
            }
            else{
                ans -> next = l2;
                l2 = l2 -> next;
            }
            ans = ans -> next;
        }
        
        ans -> next = l1 ? l1 : l2;
        
        return dummy.next;
    }
};

Comments

Popular posts from this blog

Perfect Peak of Array

Is Rectangle?

Sort array with squares!