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

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

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

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

/**
  * 
  * @param head ListNode类 
  * @param k int整型 
  * @return ListNode类
  */
//每k个,可以使用递归
function reverseKGroup( head ,  k ) {
    // write code here
    let curr=head
    let prev=null
    let node=head
    for(let i=0;i<k;i++){
        if(node==null){
            return head
        }
        node=node.next
    }
    for(let i=0;i<k;i++){
        let next=curr.next
        curr.next=prev
        prev=curr
        curr=next
    }
    head.next=reverseKGroup(curr,k)
    return prev
}
module.exports = {
    reverseKGroup : reverseKGroup
};
全部评论

相关推荐

点赞 评论 收藏
分享
猪扒已出闸:方向不够聚焦,看不出来是想找什么方向的工作
点赞 评论 收藏
分享
头像
11-21 11:39
四川大学 Java
是红鸢啊:忘了还没结束,还有字节的5k 违约金
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
11-27 10:48
点赞 评论 收藏
分享
评论
1
收藏
分享
牛客网
牛客企业服务