The idea is to move the fast pointer twice as quickly as the slow pointer so the distance between them increases by 1 at each step.

Step Eleven
1while (fast != nullptr && fast->next != nullptr) {
2  slow = slow->next;
3  fast = fast->next->next;
4}