Палиндром
Палиндром — это строка или последовательность, которая читается одинаково слева направо и справа налево. Для проверки палиндрома достаточно сравнить симметричные элементы: первый с последним, второй с предпоследним и так далее.
У строки палиндрома левая и правая половины являются зеркальными отражениями друг друга. Если длина строки нечётная, центральный символ не имеет пары и может быть любым. Если длина чётная, все символы образуют пары.
Строка «топот» — палиндром: первый и последний символы — «т», второй и предпоследний — «о», центральный символ — «п». Строка «комар» палиндромом не является: «к» не равно «р».
При проверке нужно заранее определить, учитывается ли регистр символов. Например, «А роза упала на лапу Азора» является палиндромной фразой только после удаления пробелов и знаков препинания и приведения букв к одному регистру. В задачах экзамена правила обработки символов задаются явно.
Какая строка является палиндромом?
В программировании палиндром обычно проверяют двумя указателями: один начинает движение с начала строки, другой — с конца. Пока левый указатель не встретился с правым, символы сравнивают и сдвигают указатели к центру. Достаточно найти одну несовпадающую пару, чтобы сделать вывод: строка не является палиндромом.
Главное
- Палиндром одинаково читается в обоих направлениях.
- Его симметричные элементы удовлетворяют равенству \(a_i=a_{n-1-i}\).
- При проверке учитывайте условия задачи: регистр, пробелы и знаки препинания.