C++ Easy Solution
\nclass Solution {\npublic:\n    ListNode* mergeInBetween(ListNode* list1, int a, int b, ListNode* list2) {\n        ListNode * l1a = list1;\n        ListNode *
```\nclass Solution {\npublic:\n    ListNode* mergeInBetween(ListNode* list1, int a, int b, ListNode* list2) {\n        ListNode * l1a = list1;\n        ListNode * l1b = list1;\n        ListNode * l2  = list2;\n        for(int i=1;i<a;i++){\n            if(l1a->next) l1a = l1a->next;\n        }\n        for(int i=0;i<=b;i++){\n            if(l1b) l1b = l1b->next;\n        }\n        l1a->next = l2;\n        while(l2->next) l2=l2->next;\n        l2->next = l1b;\n        return list1;\n    }\n};\n```\n**Time Complexity : O(a+b+no. of nodes in list2)** \n**Worst Case: O(list1+list2)**\n**Space Complexity: O(1)**
['C', 'C++']