Uzunluğu bilmeden zincirin ortasını nasıl bulursun? İki işaretçi kullan: yavaş olan her turda bir adım, hızlı olan iki adım atsın. Hızlı sona vardığında yavaş tam yarı yolu gelmiştir. Tek geçiş, sayaç yok.
slow = fast = headwhile fast is not None and fast.next is not None:slow = slow.nextfast = fast.next.nextreturn slow
fast.next.next yazabilmek için hem fast hem fast.next var olmalıdır. Düğüm sayısı çiftse bu döngü iki ortancadan ikincisinde durur.Küçük bir zinciri kâğıtta izle: 1 → 2 → 3 → 4 → 5'te yavaş 3'te durur; 1 → 2 → 3 → 4'te yine 3'te durur. İlk ortancayı istiyorsan koşulu bir adım erken kesersin (fast.next ve fast.next.next var mı diye sorarak).