[剑指 Offer 22] 链表中倒数第k个节点(34)

79 阅读1分钟

上面一道题,刚好写的连表,是倒数第k个节点的值,这题求的是倒数第k个节点,其实是一样的,然后我这次用了另外一个写法,单指针写法,自己没有看题解代码的写法,而是按照上一道题的题解思路,改变一下,直接 一次写对了,不容易啊,就直接贴代码了. 这两个写法,感觉比之前船长讲解的好啊

var getKthFromEnd = function(head, k) {
    let cur = head;
    let now = head;
    let count = 0;
    // 先计算head的长度
    while(cur) {
        count ++;
        cur = cur.next;
    }
    console.log(cur, count)
    let step = count - k;
    // 从头部 走 总长度count - k; 就是倒数第k个节点
    while(step --) {
        now = now.next; 
    }
    console.log(now)
    return now;
};

这道题的力扣传送门 点击前往