public static void lps(String s){
int n=s.length();
int[] lps=new int[n];
int len=0;
int i=1;
while(i<n){
if(s.charAt(i)==s.charAt(len)){
lps[i]=++len;
i++;
}
else{
if(len==0) {
lps[i]=0;
i++;
}
else {
len=lps[len-1]; // I DON'T UNDERSTAND THIS PART CAN SOMEONE PLEASE EXPLAIN ME
}
}
}