import java.util.*; public class Solution { /** * * @param s string字符串 * @return int整型 */ public int minCut (String s) { // write code here int len=s.length(); if(len<1){ return 0; } int [] minSub=new int [len+1]; for(int i=1;i<=len;i++){ minSub[i]=i-1; } for(int i=2;i<=len;i++){ if(ispal(s,0,i-1)==true){ minSub[i]=0; } for(int j=1;j<i;j++){ if(ispal(s,j,i-1)==true){ minSub[i]=Math.min(minSub[i],minSub[j]+1); } } } return minSub[len]; } public static boolean ispal(String str,int begin,int after){ while(begin<after){ if(str.charAt(begin)!=str.charAt(after)){ return false; } begin++; after--; } return true; } }