题解 | #链表中的节点每k个一组翻转#

链表中的节点每k个一组翻转

https://www.nowcoder.com/practice/b49c3dc907814e9bbfa8437c251b028e

通过递归算法,可以算出本题、分析如下 alt

        // 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;
    }
#刷题找工作啊#
全部评论

相关推荐

秋国🐮🐴:拿到你简历编号然后让你知道世间险恶
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务