题解 | #链表中的节点每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;
    }
#刷题找工作啊#
全部评论

相关推荐

酷酷我灵儿帅:这去不去和线不线下面说实话没啥关系
点赞 评论 收藏
分享
嗨害嗨我来了:你跟他说开迈巴赫呢,一个月好几万,让学弟尝尝一点小小的社会险恶
点赞 评论 收藏
分享
08-11 14:30
中南大学
想去大厂的花生米又在...:想体验的UU简介自取
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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