Finding the Middle Node
Time complexity: O(n).
Auxiliary space: O(1).
For an odd-length list, slow identifies the unique middle.
For an even-length list, this initialization returns the second middle node.
The choice of first or second middle can be changed by adjusting the pointer initialization or loop condition.