Переворот строки и проверка на палиндром
💻 Информатика · 8 класс
Перевернуть строку
Строка — это последовательность символов: букв, цифр, пробелов и знаков. Перевернуть строку значит расположить её символы в обратном порядке: первый символ становится последним, а последний — первым. Этот приём лежит в основе многих задач обработки текста, и на нём же строится проверка слова на палиндром.
У каждого символа в строке есть свой номер — индекс. Зная индексы, можно обращаться к любому символу и собирать из них новые строки. Длину строки, то есть число символов в ней, обычно тоже можно узнать специальной операцией.
Как развернуть строку
Чтобы получить перевёрнутую строку, проходят исходную с конца к началу и приписывают символы к новой, изначально пустой строке. Можно поступить и иначе: идти с начала, но каждый очередной символ добавлять в начало результата. Оба способа дают одинаковый ответ.
исходная = "шалаш"
результат = ""
для i от длины до 1 (шаг -1):
результат = результат + символ(i)
вывод: результат (получится "шалаш")В этом примере мы берём символы с пятого по первый и приписываем их по очереди. Для слова шалаш перевёрнутая строка совпала с исходной, а вот для слова зебра получилось бы арбез.
Что такое палиндром
Палиндром — это слово или фраза, которые читаются одинаково слева направо и справа налево. Чтобы проверить, является ли строка палиндромом, сравнивают исходную строку с её перевёрнутой версией: если они полностью совпали, строка является палиндромом, иначе — нет.
| Строка | Перевёрнутая | Палиндром? |
|---|---|---|
| шалаш | шалаш | да |
| топот | топот | да |
| зебра | арбез | нет |
Существует и более экономный способ проверки, не требующий полного переворота строки. Символы сравнивают попарно, двигаясь от краёв к середине: первый символ сравнивают с последним, второй — с предпоследним и так далее. Как только встретилась хотя бы одна несовпадающая пара, можно сразу сказать, что это не палиндром, и дальше не проверять. Этот способ работает быстрее, потому что не нужно строить новую строку и хватает прохода до середины.
Перебор пар удобно организовать циклом со счётчиком. Один указатель движется от начала строки вперёд, другой — от конца назад. На каждом шаге сравнивают символы под этими указателями и сдвигают их навстречу друг другу. Цикл завершается, когда указатели встретились в середине: значит, все пары совпали и строка оказалась палиндромом.
При проверке фраз обычно заранее убирают пробелы и не различают заглавные и строчные буквы, иначе фраза вроде «А роза упала на лапу Азора» не будет распознана. Но в простых учебных задачах работают с одним словом без пробелов, и тогда достаточно прямого сравнения символов.
Правило: при проверке на палиндром удобно сравнивать символы попарно с краёв к центру. Если все пары совпали — строка палиндром. Достаточно одного несовпадения, чтобы прекратить проверку и дать отрицательный ответ.
Кратко о главном
- Переворот строки меняет порядок символов на обратный.
- К каждому символу обращаются по его индексу.
- Палиндром читается одинаково в обе стороны.
- Палиндром проверяют сравнением строки с её переворотом или попарно с краёв.