Menu
CoddyTech

Longest Palindromic Substring

Тебе дана строка s, состоящая из строчных английских букв. Верни её самую длинную палиндромную подстроку: самую длинную последовательность идущих подряд букв, которая одинаково читается слева направо и справа налево. Если несколько подстрок имеют одинаковую максимальную длину, верни ту, которая начинается левее остальных.

Функция

longestPalindrome(s: string) → string
sstring
строка в нижнем регистре для поиска
Возвращаетstring
самая длинная палиндромная подстрока s, самая левая из них, если несколько имеют одинаковую длину

Ограничения

  • 1 ≤ s.length ≤ 2000
  • s содержит только строчные буквы английского алфавита.
  • Если несколько палиндромов имеют максимальную длину, ответом будет тот, у которого наименьший начальный индекс.

Примеры

Ввод
s = "bananas"
Вывод
"anana"
Пояснение
"anana" одинаково читается с обоих концов и состоит из 5 букв. Более длинные фрагменты не подходят: "banana" начинается с b и заканчивается на a, "ananas" начинается с a и заканчивается на s, а всё слово начинается с b и заканчивается на s.

lock icon+18 скрытых тестов при отправке

challenge icon

Дополнительный вопрос

Сможешь найти ответ за время O(n)?

Сбросить код
def longestPalindrome(s):
    # Напишите код здесь
Тестовые случаи

Случай 1

Случай 2

Случай 3

Ввод

s = "bananas"

Ожидается

"anana"