问题描述
求输入字符串的最长回文子串的长度
输入: "babad"
输出: 3, 因为"bab"或者"aba"
输入: "cbbd"
输出: 2, 因为"bb"
解题
一个回文子串可以分解为以下三部分:两端相同的一个字符,中间一个回文子串。`"x...x"`<br /> 设计`dp[][]`,`dp[i][j]`表示子串$s_{i...j}$是否是回文串。无法使用一维的`dp[]`,必须使用二维的`dp[][]`。
```
if (s[i] == s[j] && dp[i + 1][j - 1])
dp[i][j] = 1;
else
dp[i][j] = 0;
```