剑指 Offer 22. 链表中倒数第k个节点

131 阅读1分钟

剑指 Offer 22. 链表中倒数第k个节点

寻找参照物,然参照物先走k步,然后跟随参照物一起走完剩下的链表长度 - k步 就可以得到链表的倒数k步的节点

var getKthFromEnd = function (head, k) {
    // 1->2->3->4->5, 和 k = 2
    var quick = head;
    while (k--) {
        quick = quick.next;
    }
    var node = head;
    while (quick) {
        node = node.next;
        quick = quick.next;
    }
    return node;
};