Девять задач о форме текста: его двух концах, сериях одинаковых символов и о том, сколько раз встречается каждая буква.
- Слово наоборот и esreveR печатают слово от последнего индекса до 0 (или
разворачивают его на месте через
swap). - Проверка на зеркальность и Палиндром сравнивают
s[i]сs[n - 1 - i]для первой половины. Заглавные и строчные буквы здесь — разные символы. - Самая длинная серия и Максимальный отрезок — это серии:
runрастёт, пока символ продолжает серию, и начинается заново, когда нет. В Максимальном отрезке считаются только нули, поэтому1возвращает серию к 0, а строка без нулей даёт 0. - Сжатие серий записывает каждую серию как её букву и длину,
a3b2, — серия из одного символа пишется со своей1. Собирайте ответ через+=иto_stringи не забудьте последнюю серию. - Самая частая буква и Одинаковые буквы считают через
vector<int> cnt(26)иcnt[c - 'a']++. В Самой частой букве при ничьей побеждает буква, которая раньше в алфавите. Одинаковые буквы сравнивает 26 счётчиков двух слов (длины слов могут различаться).