Дана строка s. Нужно найти самую длинную подстроку, которая является палиндромом. Палиндром — это слово, которое читается одинаково слева направо и справа налево. Примеры: Ввод: s = "babad" Вывод: "bab" или "aba" (оба — палиндромы) Ввод: s = "cbbd" Вывод: "bb" Каждый палиндром имеет центр.
Мы можем: Центр может быть: Представь, что у тебя есть лента с буквами:
b a b a d Ты хочешь найти самый длинный кусочек, который читается одинаково в обе стороны, как "мам", "поп", "казак". Ты берёшь одну букву и смотришь: Потом берёшь две буквы: Потом смотришь на "a" посередине: Ты находишь два кусочка: "bab" и "aba" — оба длиной 3. Ты говоришь: "Самый длинный палиндром — 3 буквы!"
И возвращаешь один из них. Примера кода, рассмотренного в статье можно найти по адресу: https://github.com/ShkrylAndrei/leetcode/blob/main/src/main/java/info/shkryl/task5_longestPalindromicSubstring/Solution.java