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

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

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

/*
 * function ListNode(x){
 *   this.val = x;
 *   this.next = null;
 * }
 */
/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param head ListNode类 
 * @param k int整型 
 * @return ListNode类
 */
function reverseKGroup( head ,  k ) {
    // write code here
    var cur = head
    st =[]
    re =[]
    var counter = 1
    while(cur){
        if(counter%k != 0){
            st.push(cur.val)
            cur = cur.next
            counter++
        }else{
            st.push(cur.val)
            cur = cur.next
            counter++
            for(let i =0; i<k; i++){
                res = st.pop()
                re.push(res)
            }
        }
    }
    var cur =head;
    for(let i=0; i<re.length; i++){
        cur.val = re[i]
        cur = cur.next
    }
    return head;
}
module.exports = {
    reverseKGroup : reverseKGroup
};

全部评论

相关推荐

头顶尖尖的程序员:我也是面了三四次才放平心态的。准备好自我介绍,不一定要背熟,可以记事本写下来读。全程控制语速,所有问题都先思考几秒,不要急着答,不要打断面试官说话。
点赞 评论 收藏
分享
06-26 17:24
已编辑
宁波大学 Java
一口洪烧肉:哈哈哈哈哈哈哈哈哈哈哈硬要啊
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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