Skip to main content

返回倒数第 k 个节点

02. 返回倒数第 k 个节点

实现一种算法,找出单向链表中倒数第 k 个节点。返回该节点的值。

示例

输入: 1->2->3->4->5 和 k = 2
输出: 4

代码

const head = {
val: 1,
next: {
val: 2,
next: {
val: 3,
next: {
val: 4,
next: {
val: 5,
next: undefined
}
}
}
}
}
var k = 2
var kthToLast = function (head, k) {
// 声明快慢指针
let fast = head
let slow = head

// 获取正序的目标
while (k-- > 0) {
fast = fast.next
}

// 根据正序获取反序的目标
while (fast) {
fast = fast.next
slow = slow.next
}

return slow.val
}

console.log(kthToLast(head, k))
// 4