Где применяется
1. Задача
С этого урока начинается группа про строки. Таблицы DP из прошлых уроков, например редакционное расстояние, уже работали со строками. У строк есть и своя структура данных для поиска по началу слова, trie (префиксное дерево), до неё группа дойдёт в конце.
Строка это ряд символов. Почти всё, что ты будешь делать с текстом, сводится к проходу по этому ряду: развернуть, проверить, посчитать, преобразовать. Группу открывают две маленькие задачи. Первая: развернуть строку, из "hello" сделать "olleh". Этот приём потом встречается в десятках вариантов. Вторая: решить, палиндром ли строка, то есть читается ли она одинаково в обе стороны. Причём в настоящем, практическом виде: фраза "A man, a plan, a canal: Panama" должна считаться палиндромом, хотя в ней есть пробелы, запятые и заглавные буквы. Вторая задача ставит два вопроса, которые возникают в любой работе с текстом: как читать символ по его позиции и как почистить ввод перед сравнением.
Этот шаг из платной части
Бесплатные шаги в начале курса (их 33) открыты всем: урок, задача и тесты. Этот шаг открывается с полным доступом. Начни с бесплатного аккаунта и бесплатных шагов.
Завести бесплатный аккаунтПосмотреть, что входитНа LeetCode
Простые задачи на строки, где текст разворачивают или проверяют на палиндром, часто после чистки ввода. Строки в JavaScript нельзя менять на месте, поэтому собирай новую или работай двумя указателями с массивом символов.
На вход приходит массив символов, так что меняй местами с двух концов двумя указателями прямо в нём.
Это isPalindrome из урока. Почисти строку и сравнивай с двух концов.
При первом несовпадении попробуй пропустить левую букву или правую и проверь остаток на палиндром.
Раздели по пробелам, выброси пустые куски и собери слова обратно в обратном порядке.