Проверитель палиндромов
Палиндром, это строка, читаемая одинаково в прямом и обратном направлениях. Слово «Madam» легко распознать; строка «A man, a plan, a canal: Panama» требует некоторого времени для распознавания, поскольку её чтение зависит от игнорирования знаков пунктуации и пробелов. Этот инструмент нормализует вставленный текст, приводит его к нижнему регистру, удаляет пробелы и знаки пунктуации, и проверяет, является ли полученный результат настоящим палиндромом; кроме того, он отображает обратную версию строки рядом.
Как выполняется проверка
-
1
Вставьте текст или число
Одно слово, фраза, длинная предложение или числовая последовательность.
-
2
Была применена нормализация.
Текст приводится к нижнему регистру, и удаляется всё, что не является буквой или цифрой (пробелы, знаки пунктуации, символы). Каждая буква Unicode сохраняется как есть, поэтому акценты учитываются, а нелатинские письменности (включая кириллицу) поддерживаются.
-
3
Сравните положительный и обратный направления
Если нормализованная строка совпадает со своей обратной версией, она является палиндромом.
-
4
Проверьте результат
Инструмент отображает как исходные, так и нормализованные строки в обратном порядке для проверки.
Примеры классических палиндромов
| Текст | Тип |
|---|---|
madam |
Одно слово |
level |
Одно слово |
racecar |
Одно слово |
A man, a plan, a canal: Panama |
Фраза |
Was it a car or a cat I saw? |
Вопрос |
Never odd or even |
Фраза |
12321 |
Номер |
Mr. Owl ate my metal worm |
Длинная фраза |
а роза упала на лапу азора |
Русская фраза |
Категории палиндромов
- Палиндромы символов. По умолчанию это один и тот же набор символов в прямом и обратном порядке без учёта пробелов.
- Палиндромы слов. «I did, did I», каждое слово повторяется как целостная единица.
- Семорднилапсы. Слова, которые при перевёртывании превращаются в другое слово: «stressed» → «desserts».
- Числовые палиндромы. Любые последовательности цифр, которые одинаково читаются в обоих направлениях: 1991, 1881.
- Геномные палиндромы. Последовательности ДНК, в которых определённый участок одинаково читается на обеих нитях (характерны для рестрикционных ферментов).
Программирование проверки
Основная логика в псевдокоде:
function isPalindrome(s):
normalized = lowercase(s)
normalized = removeAll(normalized, /[^\p{L}\p{N}]/u) // сохраняем буквы и цифры любой письменности
return normalized == reverse(normalized)
Это стандартный вопрос для разминки во время интервью. Разные варианты включают специальные случаи: игнорирование знаков объединения Unicode, обработка пустых строк, поддержка эмодзи и учитывание групп графемов.
Распространённые варианты этого правила
- Строгий режим: подсчитывается каждый символ, включая пробелы и знаки пунктуации.
"aba"проходит проверку;"a man a plan"не проходит. - Только буквы и цифры: удаляются все остальные элементы. Такой подход используется при большинстве простых проверок палиндромности.
- Нормализация Unicode: некоторые проверки объединяют акцентированные формы (NFKD) перед сравнением, чтобы «café» совпадало с «éfac».
Этот инструмент использует режим только букв и цифр: приводит текст к нижнему регистру, сохраняет каждую букву и цифру Unicode (любой письменности, включая кириллицу) и удаляет всё остальное. Он не объединяет акценты, поэтому буква с акцентом должна совпадать с точно такой же буквой. Отдельной кнопки «строгий режим» в инструменте нет.
Часто задаваемые вопросы
Да. Любой отдельный символ явно является палиндромом, он равен своему обратному результату при перевёртывании. Большинство педагогических определений требуют наличия как минимум трёх символов для того, чтобы определение было интересным, однако математическое определение допускает строку длиной 1 и даже пустую строку (длиной 0).
Разглядывайте их как последовательности цифр: 121, 12321 и 1991 являются числовыми палиндромами. Для больших целых чисел проверяйте их представление в виде строки; не пытайтесь перевернуть число арифметически, это приведёт к утрате первых нулей.
Среди серьёзных литературных произведений, работа «Человек, план, канал: Панама» и её многочисленные расширения; компьютерно сгенерированные палиндромы Питера Норвига насчитывают более 17 000 слов, однако ни одно из них не соответствует грамматическим правилам. Самым длинным однозначным палиндромом в английском языке, упомянутым в книге Гиннесса рекордов, является «tattarrattat» (Джеймс Джойс, «Улисс»).
Да, во всех языках. Финский термин «saippuakivikauppias» («продавец мыльной камни», 19 букв) часто считается самым длинным единым палиндромом, встречающимся в природе среди всех языков.
Сопутствующие инструменты
Генератор хэдканонов
Создавайте авторские подсказки для хэдканонов о вымышленных и оригинальных персонажах. Выбирайте тему, настроение и близость к канону; всё работает локально во вкладке браузера.
Справочник по корректурным знакам
Практический справочник по 14 распространённым знакам традиционной англоязычной корректуры с обозначениями, примерами и пояснением стандартов.
Перемешивание слов
Перемешивайте буквы в каждом слове, сохраняя первую и последнюю. Подходит для головоломок, словесных игр и упражнений на чтение.
С английского на Pig Latin
Переводите английский на Pig Latin и обратно. Применяется классический перенос группы согласных и правило суффикса -ay.
Детектор клише
Вставьте текст, и детектор сверит его со списком распространенных английских клише, сообщая, сколько раз встречается каждая фраза.
Генератор «Правда или действие»
Вытягивайте случайные вопросы и задания из отобранного, подходящего для всей семьи набора: 15 правд и 15 действий на английском, до 20 карточек за раз.
Инструмент доступен на других языках
- Verificador de Palíndromos [ES]
- Palindroomcontrole [NL]
- 回文チェッカー [JA]
- Palindrom-Prüfer [DE]
- เครื่องมือตรวจสอบพาลินโดรม [TH]
- مُتحقق السلسلة المتقابلة [AR]
- 회문 검사기 [KO]
- Vérificateur de palindrome [FR]
- Pemeriksa Palindrom [ID]
- Kiểm tra Palindrome [VI]
- Palindromskannare [SV]
- Sprawdzanie palindromu [PL]
- Verificador de Palíndromos [PT]
- Palindrome Checker [EN]
- Controllore di Palindromi [IT]
- Palindrom Denetleyici [TR]
- 回文检查器 [ZH]