题解 | #牛群的重新分组#

牛群的重新分组

https://www.nowcoder.com/practice/267c0deb9a6a41e4bdeb1b2addc64c93

/*
 * function ListNode(x){
 *   this.val = x;
 *   this.next = null;
 * }
 */
/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param head ListNode类 
 * @param k int整型 
 * @return ListNode类
 */
function reverseKGroup( head ,  k ) {
    // write code here
    let dummy = new ListNode(0)
    dummy.next = head
    let pre = dummy
    let cur = head
    let count = 0
    while(cur!=null){
        count++
        if(count%k==0){
            pre = reverse(pre,cur.next)
            cur = pre.next
        }else{
            cur = cur.next
        }
    }
    return dummy.next
    function reverse(pre,end){
        let cur = pre.next
        let tail = cur
        while(cur!=end){
            let temp = cur.next      
            cur.next = pre.next      //将链表依次逆转    
            pre.next = cur           //保存反转链表的前驱结点
            cur = temp
        }
        tail.next = end              //逆转后的最后一个结点与end结点连接
        console.log(tail)
        return tail
    }
}
module.exports = {
    reverseKGroup : reverseKGroup
};

全部评论

相关推荐

八月份以为是开始没想到是巅峰,九月约面反而少了,每天就是疯狂做测评和AI面试。这周更离谱,一个新的面邀都没有说好的金九银十呢?
牛客58830004...:九月到现在只有一场三七互娱的线下面试,java 无实习能找到工作吗 哥能告诉我客户端有希望吗,怎么转客户端
我的秋招日记
点赞 评论 收藏
分享
08-27 21:03
已编辑
成都理工大学 Java
冷花幽露:大概率是了,京东面试就是这样。我上周一面也是20多分钟,面试官问的很刁钻的问题也答上来了,面完过了几天还是没推进,泡池子,昨天一看挂了。如果一面完第2天没有收到2面邀请,基本上不用抱希望了。如果你的bg是985,面试流程也是和我们一样,20多分钟,唯一区别就是面完他们会很快收到二面邮件,而不像我们泡池子然后挂掉
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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