Напиши реализацию функции isPalindrome, которая принимает строку и проверяет, является ли она палиндромом (читается одинаково слева направо и справа налево). Функция должна возвращать true или false.

Сравнивайте символы с двух концов к центру и возвращайте false при первом несовпадении.

Короткий ответ

Что ответить на собеседовании

Сравнивайте символы с двух концов к центру и возвращайте false при первом несовпадении.

Подробный разбор

Ответ с пояснениями

Сравнивайте символы с двух концов к центру и возвращайте false при первом несовпадении.

Ниже регистр, пробелы и пунктуация значимы; сравнение идёт по Unicode code points. Если нужна нормализация, её правила задают отдельно.

function isPalindrome(text) {
  const chars = Array.from(text);
  for (let left = 0, right = chars.length - 1; left < right; left++, right--) {
    if (chars[left] !== chars[right]) return false;
  }
  return true;
}

Пустая строка и один символ считаются палиндромами. Время O(n), память O(n) из-за массива; составные графемы требуют дополнительной сегментации.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее