🟨 JavaScript
Лёгкая
🕐 6 мин

Функция переворота строки: reverseString

Цель: создать функцию reverseString(str), которая возвращает переданную строку в обратном порядке.

💡 Подсказка решения:

Возможные решения:

  1. Использовать split(''), reverse(), join('')
  2. Использовать цикл for с итерацией с конца
  3. Использовать рекурсию (базовый случай: пустая строка)

Пример с методами массивов:

function reverseString(str) {
  return str.split('').reverse().join('');
}
👀 Подглядеть решение #1 (Методы массива):
/**
 * Переворачивает строку, изменяя порядок символов на обратный
 * @param {string} str - Исходная строка для переворота
 * @returns {string} Перевернутая строка
 */
function reverseString(str) {
  // 1. Разбиваем строку на массив отдельных символов
  //    Например: "hello" -> ["h", "e", "l", "l", "o"]
  // 2. Переворачиваем порядок элементов массива
  //    ["h", "e", "l", "l", "o"] -> ["o", "l", "l", "e", "h"]
  // 3. Собираем перевернутый массив обратно в строку
  //    ["o", "l", "l", "e", "h"] -> "olleh"
  return str.split('').reverse().join('');
}
 
window.reverseString = reverseString;

Почему именно так:

  1. Используются встроенные методы JavaScript, коротко и понятно.
  2. Сложность по времени O(n), по памяти O(n).
  3. Работает с любыми строками, включая с пробелами и Unicode.
👀 Подглядеть решение #2 (Цикл):
function reverseString(str) {
  let reversed = '';
  for (let i = str.length - 1; i >= 0; i--) {
    reversed += str[i];
  }
  return reversed;
}
👀 Подглядеть решение #3 (Рекурсия):
function reverseString(str) {
  if (str === '') return '';
  return reverseString(str.slice(1)) + str[0];
}

Описание задачи

Создайте функцию reverseString, которая принимает строку и возвращает новую строку с символами в обратном порядке.

Как должна работать функция:

  1. Принимает один параметр — строку
  2. Возвращает новую строку с символами в обратном порядке
  3. Должна корректно работать с пустыми строками и палиндромами

Примеры использования:

reverseString('hello'); // 'olleh'
reverseString('a b'); // 'b a'
reverseString('madam'); // 'madam'

Требования:

  • Функция должна называться reverseString
  • Принимать один аргумент типа строка
  • Возвращать строку в обратном порядке
  • Не модифицировать исходную строку
  • Обрабатывать Unicode и пробелы

🧑‍💻 Это не баг! Это фича!

Редактор кода намеренно скрыт на мобильном.

Поверь, так лучше: я оберегаю тебя от искушения писать код в неидеальных условиях. Маленький экран и виртуальная клавиатура — не лучшие помощники для программиста.

📖 Сейчас: Изучи задачу, продумай решение. Действуй как стратег.

💻 Потом: Сядь за компьютер, открой сайт и реализуй все идеи с комфортом. Действуй как код-джедай!