[动态规划][中心扩展法]leetcode647:回文子串(medium)
题目:
题解:
- 本题主要使用
中心扩展法
和动态规划
解题,其实本题是5. 最长回文子串的子题,可以运用相同的方法解题。
- 中心扩展法:以当前点
i位置
向两边扩展(奇回文串
)或以i、i+1位置
(偶回文串
)向两边扩展
- 动态规划:dp[i][j]表示表示s[i]至s[j]是否为回文串,是为1,不是为0。注意我们是从字符串尾部开始判断的,这样可以避免初始化问题。
- 状态转移方程:
i==j,dp[i][j]=0
i!=j,dp[i][j]=(s[i]==s[j])&&(j<=i+1||dp[i+1][j-1]);