• + 1 comment

    Simpler:

    if(!headA){return headB;}
    if(!headB){return headA;}
        
    if(headA->data < headB->data){
        headA->next = MergeLists(headA->next,headB);
        return headA;
    }
    else{
        headB->next = MergeLists(headA,headB->next);
        return headB;
    }
    
    • + 0 comments

      Simpler

      Node* MergeLists(Node *a, Node*b) {
          if( !a) return b;
          if( !b) return a;
          if (a->data < b->data) {
              a->next = MergeLists(a->next, b);
              return a;
          } else {
              return MergeLists(b, a);
          } 
      }