时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M 热度指数:25218
本题知识点: 链表
题目描述
输入一个链表,输出该链表中倒数第k个结点。
示例1
输入
{1,2,3,4,5},1
返回值
{5}
思路:快慢指针
首先让快指针走k步,k是倒数第k个结点,
这样快指针走到终点的时候,慢指针刚好走到倒数第k个节点,因为两个指针都走完了一条链,总路程相等。
function FindKthToTail( pHead , k ) {
if(!pHead) return null
let fast = pHead,slow = pHead
while(k){
if(!fast) return null
fast = fast.next
k--
}
while(fast){
fast = fast.next
slow = slow.next
}
return slow
}