没什么技巧,就是逐个增加字符,然后判断是否是回文,因为前i个必定回文,从第i个开始判断是否回文。
换句话说,就是求,包含最后一位字符的最大回文子串
import java.util.*;
public class Main{
public static boolean func(String s,int p){
boolean flag;
int q=s.length()-1;
while(p<q){
if(s.charAt(p)!=s.charAt(q)){
return false;
}
p++;
q--;
}
return true;
}
public static void main(String[] main){
Scanner sc=new Scanner(System.in);
String s=sc.nextLine();
int len=s.length();
for(int i=0;i<s.length();i++){
if(func(s,i)){
len+=i;
break;
}
}
System.out.println(len);
}
} 
京公网安备 11010502036488号