Java simple and easy to understand soln, 1 ms, faster than 100.00% , clean code with comment
PLEASE UPVOTE IF YOU LIKE THIS SOLUTION\n\n\n\nclass Solution {\n    public ListNode mergeInBetween(ListNode list1, int a, int b, ListNode list2) {\n        Lis
**PLEASE UPVOTE IF YOU LIKE THIS SOLUTION**\n\n\n```\nclass Solution {\n    public ListNode mergeInBetween(ListNode list1, int a, int b, ListNode list2) {\n        ListNode curr1 = list1;\n        \n        //find the ath prev node and bth next node of list 1\n        ListNode athPrevNode = null;\n        ListNode bthNextNode = null;\n        int i = 0;\n        while(curr1 != null){\n            if(i == a - 1){\n                athPrevNode = curr1;\n            }\n            \n            if(i == b + 1){\n                bthNextNode = curr1;\n                break;\n            }\n            \n            curr1 = curr1.next;\n            i++;\n        }\n        \n        //find last node of list 2\n        ListNode curr2 = list2;\n        while(curr2 != null && curr2.next != null){\n            curr2 = curr2.next;\n        }\n        \n        //now insert list2 in list 1\n        athPrevNode.next = list2;\n        curr2.next = bthNextNode;\n        \n        return list1;\n    }\n}\n```
['Java']