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

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

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

function ListNode(x){
  this.val = x;
  this.next = null;
}

function reverseKGroup( head ,  k ) {
    // write code here
    var dummy=new ListNode(-1);
    dummy.next=head;
    var cur=dummy;
    while(cur){
        var first=cur.next;
        var end=cur;
        for(var i=0;i<k&&end!=null;i++){
            end=end.next;
        }
        if(!end) break;
        var p1=first;
        var p2=first.next;
        while(p1!=end){
            var new_p2=p2.next;
            p2.next=p1;
            p1=p2;
            p2=new_p2;
        }
        first.next=p2;
        cur.next=end;
        cur=first;
    }
    return dummy.next;
}

全部评论

相关推荐

11-09 11:01
济南大学 Java
Java抽象带篮子:外卖项目真得美化一下,可以看看我的详细的外卖话术帖子
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
11-24 20:55
阿里国际 Java工程师 2.7k*16.0
程序员猪皮:没有超过3k的,不太好选。春招再看看
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务