链表中倒数第k个结点
2018-09-21 本文已影响0人
小小的白菜
输入一个链表,输出该链表中倒数第k个结点。
function FindKthToTail(head, k) {
if (!head || k <= 0) {
return null;
}
let next = head, pre = head;
while (--k) {
pre = pre.next;
if (!pre) {
return null;
}
}
while (pre.next) {
next = next.next;
pre = pre.next;
}
pre = null;
return next;
}
相当于制造了一个K长度的尺子,把尺子从头往后移动,当尺子的右端与链表的末尾对齐的时候,尺子左端所在的结点就是倒数第k个结点!讨论区地址