-
Notifications
You must be signed in to change notification settings - Fork 24
面试题 02.02. 返回倒数第 k 个节点 #66
Copy link
Copy link
Open
Labels
Description
双指针
- 在头节点分别定义快、慢两个指针,在定义 n 计数器
- 快指针先行,直到与慢指针相差 k 时,慢指针也开始走
- 这样的话,当快指针遍历完成时,慢指针就刚好在倒数第 k 个值的位置了
const kthToLast = function (head, k) {
let fast = head
let low = head
let n = 0
while (fast) {
fast = fast.next
if (n >= k) {
low = low.next
}
n++
}
return low.val
}- 时间复杂度 O(n)
- 空间复杂度 O(1)
Reactions are currently unavailable