https://leetcode-cn.com/problems/palindromic-substrings/
输入:“aaa”
输出:6
解释:6个回文子串: “a”, “a”, “a”, “aa”, “aa”, “aaa”
package com.cbx.LeetCode.动态规划;
/**
* @Author:cbx
* @Date:2020/09/14/18:50
* https://leetcode-cn.com/problems/palindromic-substrings/solution/liang-dao-hui-wen-zi-chuan-de-jie-fa-xiang-jie-zho/
*/
public class 回文子串 {
public static void main(String[] args) {
String s="babad";
int num = countSubStrings(s);
System.out.println(num);
// System.out.println(s.substring(0,3));
}
/**
* 判断是否是回文子串
* @param s
* @return
*/
public static int countSubStrings(String s){
//动态规划
boolean[][] dp=new boolean[s.length()][s.length()];
int ans=0;
String res="";
for (int i = 0; i < s.length(); i++) {
for (int j = 0; j <=i; j++) {
if ((s.charAt(i)==s.charAt(j))&&(i-j<2||dp[j+1][i-1])){
if (s.substring(j,i+1).length()>res.length()){
res=s.substring(j,i+1);
}
dp[i][j]=true;
ans++;
}
}
}
System.out.println(res);
return ans;
}
}