647. 回文子串
dp[i][j] 表示是否回文,还是先从小串开始计算,累计上去,每次算出一个回文串就计数加1
516.最长回文子序列
rolling array 做 space optimization 的方法还在想,然后因为是序列所以把 dp[i][j] 定义成两个串 从 [0,i] 到 [0, j] 的最长回文子序列,最后返回 dp[m][n] 即可。
因此对于 dp[i][j]
如果当前位置两字符相等,那么当前新的子串所容纳的回文串长度是去掉两个字符的substring所容纳长度+2
如果不想等,那么自然就是去掉二者之一的两个不同字串最长子序列的更大值