一 实现思路
1 思维层面
1 寻找中点- 快慢指针
2 参考实现
二 代码实现
方法1: 快慢指针 时间复杂度O(n) 空间复杂度 O(1)
function middleNode(head: ListNode | null): ListNode | null {
if (!head || !head.next) return head;
let slow = head, fast = head
while (fast && fast.next) {
slow = slow.next
fast = fast.next.next
}
return slow
};