力扣-链表中倒数第k个节点

117 阅读1分钟

image.png

记录一下解题思路,刚开始没仔细读题,直接使用链表反转给解,发现走入误区了,这道题最后要的是倒数k节点后面的链表数据,其实也还是很简单

我的思路是先求出链表的总长度,然后总长度减去当前head指针对应的位置为k时,我们就把后面的链表直接拿出来

const getKthFromEnd = function(head, k) {

    let current = head
    let pre = head
    // 总长度
    let len = 0
    while (current) {
        current = current.next
        len ++
    }
    let I = 0
    let Tak = null
    while (pre) {
    if (len - I === k) {
        Tak =  pre
        break
    }
        I++
        pre = pre.next
    }
    return  Tak
};