链表中倒数第k个结点
题目描述:
输入一个链表,输出该链表中倒数第k个结点。
问题分析:
使用快慢指针,让快指针先走k步,然后快慢指针一起走,走到最后,慢指针就是倒数第k个节点
代码展示:
/*function ListNode(x){
this.val = x;
this.next = null;
}*/
function FindKthToTail(head, k)
{
if(head === null || k<=0)
return null;
let pre = head;
let pos = head;
while(--k){
if(pre.next !== null)
pre = pre.next;
else
return null;
}
while(pre.next !== null){
pre = pre.next;
pos = pos.next;
}
return pos;
}
总结:
链表这里,多是对指针的运用,比如快慢指针,三指针等等
留意指针之间的相互指向,做题的时候会好一些