// 链表的中间节点 --> 利用快慢指针,快指针每次走两步,慢指针每次走一步,快指针走到尾,慢指针刚好走到一半
// Ps: list 就是一个链表,链表我就不写了~
function fn(list) {
let fast = list
let low = list
while (fast && fast.next) {
// debugger
fast = fast.next.next // 快指针每次走2步
low = low.next // 慢指针每次走1步
}
console.log(low, list)
}
// 数组利用快慢指针求中间元素,和上面一样的道理
let arr = [1, 2, 3, 4, 5]
let fast = 0
let end = 0
while (fast < arr.length - 1 && arr[fast]) {
fast += 2
end ++
}
console.log(arr[end])