题目
描述
给定一个仅包含小写字母的字符串,求它的最长回文子串的长度。
所谓回文串,指左右对称的字符串。
所谓子串,指一个字符串删掉其部分前缀和后缀(也可以不删)的字符串
(注意:记得加上while处理多个测试用例)
输入描述:
输入一个仅包含小写字母的字符串
输出描述:
返回最长回文子串的长度
示例1
输入:
cdabbacc
输出:
4
说明:
abba为最长的回文子串
解题思路
(1)用动态规划计算最长回文
(2)定义输入字符串长度为size
(3)生成size行size列的dp矩阵
(4)对于长度为1的字符串,最长回文为1
(5)对于头尾相等的字符串,如果头与尾之间的距离小于等于2,则为回文
(6)如果头尾之间的距离大于2,并且头尾相等,则参考上一次状态即不考虑头尾时是否为回文
(7)最后输入最长回文max_len