速记-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;
全部评论

相关推荐

人快好乐家:这个是不是就是互联网公司说的提供就业岗位的搞法,因为上面压力给到了说要提供岗位,所以让学生来提前实习,到点了全都开掉
点赞 评论 收藏
分享
黑曼巴在线招人:草拟
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务