public String GetNext(String c) {
int i=1;
int[] next=new int[c.length()];
next[0]=0;
int j=0;
while(i<c.length())
{
if(j==0||Character.toString(c.charAt(i-1)).equals(Character.toString(c.charAt(j-1))))
{++i;
++j;
next[i-1]=j;
}//if
else
j=next[j-1];
}//while
String str2="";
for(int m=0;m<next.length;m++)
{
str2=str2+Integer.toString(next[m]);
}//for
return str2;
}
int i=1;
int[] next=new int[c.length()];
next[0]=0;
int j=0;
while(i<c.length())
{
if(j==0||Character.toString(c.charAt(i-1)).equals(Character.toString(c.charAt(j-1))))
{++i;
++j;
next[i-1]=j;
}//if
else
j=next[j-1];
}//while
String str2="";
for(int m=0;m<next.length;m++)
{
str2=str2+Integer.toString(next[m]);
}//for
return str2;
}