题目
面试题 02.02. 返回倒数第 k 个节点
实现一种算法,找出单向链表中倒数第 k 个节点。返回该节点的值。
注意:本题相对原题稍作改动
示例:
输入: 1->2->3->4->5 和 k = 2
输出: 4
说明:
给定的 k 保证是有效的。
解答
var kthToLast = function(head, k) {
// 解法1:快慢指针
// 执行用时:84 ms, 在所有 JavaScript 提交中击败了15.80%的用户
// 内存消耗:38.9 MB, 在所有 JavaScript 提交中击败了58.73%的用户
let fast = head, slow = head;
while (k-- && fast) {
fast = fast.next;
}
while (fast) {
fast = fast.next;
slow = slow.next;
}
return slow.val;
};