Odd length → exact middle | Even length → second middle
Hi! I'm Teju 👋 Now using your specified rule:
• Odd length: Exact middle → e.g., 1 2 3 4 5 → middle = 3
• Even length: Second middle → e.g., 1 2 3 4 5 6 → middle = 4
We achieve this by running the loop one extra step when length is even.
Examples:
1 2 3 4 5 → Middle = 3 (index 2)
1 2 3 4 5 6 → Middle = 4 (index 3)
To get the second middle in even case, we continue the loop until fast reaches the last node (not beyond).
Condition: while (fast.next != null && fast.next.next != null)
while (fast.next != null && fast.next.next != null)
This makes slow stop exactly at the desired position.
Enter numbers and click the button. Try odd and even lengths!
Middle Element: