classSolution{publicstaticintlongestDecomposition(String text){int res =0;int flag =0;int len = text.length();if(len ==0){return0;}if(len ==1){return1;}int begin =0, end =0;// len-1-end != endwhile( end-1< len /2){String sub_start = text.substring(begin, end);String sub_end = text.substring(len-end,len-begin);if(sub_start.length()!=0&& sub_end.length()!=0&& sub_start.equals(sub_end)){
begin = end;
end++;String str = text.substring(begin, len-begin);
res =(res +1)*2;
res +=longestDecomposition(str);
flag =1;break;}else{
end++;}}if(flag ==1){return res;}else{return1;}}}