Выбор ответа Junior Связные списки обновлено
Середина списка
Вопрос
Что вернёт функция для списка 1 → 2 → 3 → 4?
function middle(head) {
let slow = head, fast = head;
while (fast && fast.next) {
slow = slow.next;
fast = fast.next.next;
}
return slow;
}
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Узел 3. Шаги: slow=1, fast=1 → slow=2, fast=3 → slow=3, fast=null (после 4 идёт null).
Варианты ответа
- Узел 2
- Узел 4
- Узел 3правильный ответ
null
Разбор
Шаги: slow=1, fast=1 → slow=2, fast=3 → slow=3, fast=null (после 4 идёт null). Цикл останавливается, возвращается узел 3: для чётной длины это вторая из двух середин.
- Узел 2 вернёт вариант с условием
fast.next && fast.next.next. - Узел 4 и
nullполучаются только при ошибке в шагах.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.