Карточка Middle Связные списки обновлено

Начало цикла по Флойду

Вопрос

Как найти узел, с которого начинается цикл?

Попробуйте сами

Ответьте про себя или вслух, потом откройте ответ и сверьтесь.

Показать ответ и разбор

Коротко

После встречи быстрого и медленного ставим один указатель в голову, второй оставляем в точке встречи и двигаем оба по одному шагу. Они встретятся в начале цикла.

Ответ

После встречи быстрого и медленного ставим один указатель в голову, второй оставляем в точке встречи и двигаем оба по одному шагу. Они встретятся в начале цикла. O(n) времени, O(1) памяти.

Разбор

После встречи быстрого и медленного ставим один указатель в голову, второй оставляем в точке встречи и двигаем оба по одному шагу. Они встретятся в начале цикла. O(n) времени, O(1) памяти.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.