Super simple solution with step by step dry run ✅✅✅
https://youtu.be/CUHQHKTu51I\n\n# Code\n\nclass Solution {\npublic:\n    ListNode* mergeInBetween(ListNode* list1, int a, int b, ListNode* list2) {\n        Lis
https://youtu.be/CUHQHKTu51I\n\n# Code\n```\nclass Solution {\npublic:\n    ListNode* mergeInBetween(ListNode* list1, int a, int b, ListNode* list2) {\n        ListNode* ath = list1; //pointer to find the ath position \n        ListNode* bth = list1; //pointer to find the bth position\n        while(a>1){ // i want the a pointer before the ath index\n            ath = ath->next;\n            a--;\n        }\n        while(b>0){ // i want b pointer on the bth index\n            bth = bth->next;\n            b--;\n        }\n        ath->next = list2; // adding a\'s end to list2\n        while(list2->next!=NULL){\n            list2 = list2->next; //going till the end\n        }\n        list2->next = bth->next; //modifying links\n        return list1;\n    }\n};\n```
['C++']