Выбор ответа Junior Два указателя обновлено
Палиндром: найди ошибку
Вопрос
Функция проверяет палиндром. На какой строке она даёт неверный ответ?
function isPal(s) {
let l = 0, r = s.length - 1;
while (l < r) {
if (s[l] !== s[r]) return false;
l++; r--;
}
return true;
}
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Ошибок нет, всё верно. Указатели идут навстречу, пока l < r.
Варианты ответа
- Ошибок нет, всё верноправильный ответ
- На строке
"aba" - На пустой строке
"" - На строке
"ab"
Разбор
Указатели идут навстречу, пока l < r. На средний символ нечётной строки сравнение не нужно, пустая строка и строка из одного символа сразу дают true, "ab" даёт false. Функция корректна.
"aba": сравнитaиa, потомl === r, вернётtrue, это верно."": цикл не выполнится, пустая строка считается палиндромом."ab": вернётfalse, и это правильно.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.