C#
\npublic ListNode MergeInBetween(ListNode list1, int a, int b, ListNode list2) {\n\tListNode p1 = list1, p2 = list1;\n\twhile (--a > 0) p1 = p1.next;\n\twhile (
```\npublic ListNode MergeInBetween(ListNode list1, int a, int b, ListNode list2) {\n\tListNode p1 = list1, p2 = list1;\n\twhile (--a > 0) p1 = p1.next;\n\twhile (b-- > 0) p2 = p2.next;\n\tp1.next = list2;\n\twhile (p1.next != null) p1 = p1.next;\n\tp1.next = p2.next;\n\treturn list1;\n}\n```
[]