题解 | #链表中的节点每k个一组翻转#
链表中的节点每k个一组翻转
https://www.nowcoder.com/practice/b49c3dc907814e9bbfa8437c251b028e
通过递归算法,可以算出本题、分析如下
// write code here
ListNode end=head;
//算出下一个递归的节点
for (int i = 0; i < k; i++) {
//如果不是K的倍数,end就会变成null,那么根据题意,顺序不变,所以返回head
if(end==null){
return head;
}
end=end.next;
}
//head不变,让pre滴滴代跑
ListNode cur=head;
ListNode pre=null;
while (cur!=end){
ListNode curNext=cur.next;
cur.next=pre;
pre=cur;
cur=curNext;
}
head.next=reverseKGroup(end,k);
//如果是k的倍数,就返回翻转后的头结点
return pre;
}
#刷题找工作啊#