串“abcba”以字母“c”为中心左右对称;串“abba”是另一种模式的左右对称。
这两种情况我们都称这个串是镜像串。特别地,只含有1个字母的串,可以看成是第一种模式的镜像串。
一个串可以含有许多镜像子串。我们的目标是求一个串的最大镜像子串(最长的镜像子串),
如果有多个最大镜像子串,对称中心靠左的优先选中。例如:“abcdeefghhgfeiieje444k444lmn”的最大镜像子串是:“efghhgfe”
package exe16_20;
public class Exe17 {
static int count =0 ;
static String finalString = "";
public static void main(String[] args) {
String string = "abcdeefghhgfeiieje444k444lmn";
for (int i = 1; i < string.length()-1; i++) {
char left = string.charAt(i-1);
char center = string.charAt(i);
char right = string.charAt(i+1);
if (left==right) {
check(string,i);
}
if (center == right) {
check(string, i,i+1);
}
}
System.out.println(count);
System.out.println(finalString);
}
private static void check(String string, int center, int right) {
int tempCount = 0;
for (int i = 1; i < string.length(); i++) {
if (center-i<0 || right+i >=string.length()) {
return ;
}
if (string.charAt