import java.util.Scanner;

public class Main {

public static void main(String [] args)

{

Scanner sc = new Scanner(System.in);

String s = sc.next();

System.out.println(back(s));

sc.close();

}

public static int back(String s)

{

char c1[] = s.toCharArray();

char c2[] = new char[c1.length];

int d[][]=new int[c1.length+1][c1.length+1];

for(int i=c1.length-1;i>=0;i--)

{

c2[c1.length-i-1]=c1[i];

}

for(int i=0;i<c1.length;i++)

d[i][c1.length-1]=0;

for(int i=0;i<c1.length;i++)

d[c1.length-1][i]=0;

for(int i=1;i<=c1.length;i++)

{

for(int j=1;j<=c1.length;j++)

{

if(c1[i-1]==c2[j-1])

{

d[i][j]=d[i-1][j-1]+1;

}

else

{

d[i][j]=Math.max(d[i-1][j],d[i][j-1]);

}

}

}

return c1.length-d[c1.length][c1.length];

}

}

其中一组case返回结果为null。。。求教各位大神这个代码有啥问题没