本文采用中心拓展法,奇数子串和偶数子串分开处理。
-------------------------------------------------------
import java.util.Scanner;
public class Solution {
public static String longestPalindrome(String s)
{
//非空判断
if((s==null)||(s.length()==0))
return null;
//将字符串转换为字符数组
char[] arr=s.toCharArray();
int first=0;
int end=0;
//查找奇数位的回文串
for(int i=0;i=0)&&(lateend-first)
{
first=pre+1;
end=late-1;
}
}
//查找偶数位的回文串
for(int i=0;i=0)&&(lateend-first)
{
first=pre+1;
end=late-1;
}
}
}
//查找结束 将数组转化为字符串返回
return String.valueOf(arr,first,end-first+1);
}
public static void main(String[] args){
System.out.println("请输入一段字符串:");
Scanner scan=new Scanner(System.in);
String word=longestPalindrome(scan.nextLine());
System.out.println("该字符串中的回文子串:"+word);
}
}



