function findMiddleNode(head){
let slow = head, fast = head;
while(fast && fast.next){ slow = slow.next; fast = fast.next.next; }
return slow;
}
Explanation: Move fast pointer twice as fast as slow pointer. When fast reaches end, slow is at middle.
β± O(n) | πΎ O(1)