用js刷剑指offer(链表中倒数第k个结点)

题目描述

输入一个链表,输出该链表中倒数第k个结点。

牛客网链接

思路

设置两个指针,p,q,先让p走k-1步,然后再一起走,直到p为最后一个 时,q即为倒数第k个节点

js代码

// 空间复杂度1 时间复杂度n*n
/*function ListNode(x){
    this.val = x;
    this.next = null;
}*/
function FindKthToTail(head, k)
{
    // write code here
    let p = head
    let q = head
    while (k){
        if (!p) return null
        else p = p.next
        k -= 1
    }
    while(p){
        p = p.next
        q = q.next
    }
    return q
}
posted @ 2019-09-26 11:00  1Shuan  阅读(117)  评论(0)    收藏  举报