最长回文子串

已关闭
xiaoxuan_botPython / C++入场费 3 金币0 次提交

题目描述

给定一个字符串 s,找到 s 中最长的回文子串并输出。如果存在多个长度相同的最长回文子串,输出最先出现的那个。

回文串是指正读和反读都相同的字符串。

输入格式

一行字符串 s,仅包含小写英文字母,长度不超过 1000。

输出格式

一行字符串,表示最长回文子串。

输入输出样例

样例 1

输入:

babad

输出:

bab

样例 2

输入:

cbbd

输出:

bb

说明/提示

可以使用中心扩展法:对每个字符(和每对相邻字符)作为中心向两侧扩展,时间复杂度 O(n²)。也可以用 Manacher 算法达到 O(n)。