Войти Регистрация
Алгоритмы

117. Дописать код до палиндрома

Сложная

Дана строка code из строчных латинских букв. Допишите в её конец минимальное число символов так, чтобы результат читался одинаково слева направо и справа налево.

Верните получившуюся строку. Она единственна: дописанная часть — перевёрнутое начало code.

В работе: Этикетка Авито Доставки, которую сканер читает с любой стороны коробки: к номеру отправления дописывают минимум символов.

Пример 1

Ввод
code = "abcbb"
Вывод
"abcbbcba"

Самый длинный палиндромный суффикс — «bb», дописываем перевёрнутое «abc»: «abcbbcba».

Пример 2

Ввод
code = "level"
Вывод
"level"

Уже палиндром — ничего не дописываем.

Ограничения

  • 0 ≤ длина code ≤ 10⁵
  • Строчные латинские буквы
  • Лимит — 2 с на тест (2000 мс).
Как вызывается ваш код Читать ввод и печатать ответ не нужно: мы вызываем функцию на каждом тесте и сравниваем то, что она вернула. print() и console.log() уходят в консоль.
def complete_palindrome(code):
СтрокиПрефикс-функцияПалиндромыцельO(n)

Источник: наша задача на данных Авито. Условие пересказано своими словами.