public int minCut (String s) {
// write code here
int len = s.length();
int[] dp = new int[len+1];
dp[0] = -1;dp[1] = 0;
for(int i = 2;i<len+1;i++){
dp[i] = dp[i-1]+1;
for(int j = 1;j<i;j++){
if(isPlind(s,j-1,i-1)) dp[i] = Math.min(dp[i],dp[j-1]+1);
}
}
return dp[len];
}
public boolean isPlind(String s,int start,int end){
while(start<end) if(s.charAt(start++) != s.charAt(end--))
return false;
return true;
}