题解、测试
//先把m-n反转,再设置mPre nNext的连接
//三个辅助指针用于反转
ListNode node1 = (mPre == null)?head : mPre.next;//指向m
ListNode node2 = node1.next;
ListNode node3 = null;
node1.next = nNext;//m的next指向n的next
//开始反转
while(node2 != nNext){
node3 = node2.next;
node2.next = node1;
node1 = node2;
node2 = node3;
}//循环结束,node1指向n
//判断是否换头,根据m是否为head
if(mPre == null){
return node1;
}else{
mPre.next = node1;
return head;
}
}