问题描述

  1. 求输入字符串的最长回文子串的长度
  2. 输入: "babad"
  3. 输出: 3, 因为"bab"或者"aba"
  4. 输入: "cbbd"
  5. 输出: 2, 因为"bb"

解题

一个回文子串可以分解为以下三部分:两端相同的一个字符,中间一个回文子串。`"x...x"`<br />    设计`dp[][]`,`dp[i][j]`表示子串$s_{i...j}$是否是回文串。无法使用一维的`dp[]`,必须使用二维的`dp[][]`。

最长回文串问题 - 图1``` if (s[i] == s[j] && dp[i + 1][j - 1]) dp[i][j] = 1; else dp[i][j] = 0;

```