import java.util.*;
/*
* public class ListNode {
* int val;
* ListNode next = null;
* public ListNode(int val) {
* this.val = val;
* }
* }
*/
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param list1 ListNode类
* @param list2 ListNode类
* @param a int整型
* @param b int整型
* @return ListNode类
*/
public ListNode mergeInBetween (ListNode list1, ListNode list2, int a, int b) {
int index = 0;
ListNode temp;
if(a == 0){
temp = list2;
}else{
temp = list1;
}
while(index < a-1){
list1 = list1.next;
index++;
}
ListNode temp2 = list1;
while(index<=b){
temp2 = temp2.next;
index++;
}
list1.next = list2;
while(list2.next!=null){
list2 = list2.next;
}
list2.next = temp2;
return temp;
}
}
本题知识点分析:
1.链表遍历
2.虚拟头结点
3.数学模拟
本题解题思路分析:
1.保存关键点链表1的a部分,b节点后面一个结点
2.让链表1先衔接链表2
3.链表2的尾巴接上b节点后面的保存的一个结点

京公网安备 11010502036488号