速记-k个一组反转
直接利用上一道的n-m反转
每次计算1-k如果小于k直接返回head,否则就是利用上面方法反转1-k的节点,随后此时返回当前的头节点pre,之前的head变成了终结点,也就是head.next再次新一轮递归----会做到这里就差不多了
if(head==null) return head;
int cnt = 0;
ListNode curr = head;
ListNode pre = head;
while(curr!=null){
cnt++;
curr = curr.next;
if(cnt>=k) break;
}
if(cnt<k) return head;
pre = reverse(head,1,k);
head.next = reverseKGroup(head.next,k);
return pre;
每次计算1-k如果小于k直接返回head,否则就是利用上面方法反转1-k的节点,随后此时返回当前的头节点pre,之前的head变成了终结点,也就是head.next再次新一轮递归----会做到这里就差不多了
if(head==null) return head;
int cnt = 0;
ListNode curr = head;
ListNode pre = head;
while(curr!=null){
cnt++;
curr = curr.next;
if(cnt>=k) break;
}
if(cnt<k) return head;
pre = reverse(head,1,k);
head.next = reverseKGroup(head.next,k);
return pre;
全部评论
相关推荐
09-01 20:01
门头沟学院 后端工程师 人快好乐家:这个是不是就是互联网公司说的提供就业岗位的搞法,因为上面压力给到了说要提供岗位,所以让学生来提前实习,到点了全都开掉
点赞 评论 收藏
分享
点赞 评论 收藏
分享