第二道题马拉车 package 数组; import java.util.ArrayList; import java.util.List; import java.util.Scanner; public class manacher算法 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String str = sc.nextLine(); List<String> strings = maxLength(str); if (strings.size() == 0 || strings.get(0).length() == 1) { System.out.println("null"); } else { for(String s : strings) { System.out.println(s); } } } public static char[] getManacherString(String str) { char[] arr = str.toCharArray(); char[] newArr = new char[arr.length * 2 + 1]; int index = 0; for (int i = 0; i < newArr.length; i++) { newArr[i] = (i & 1) == 1 ? arr[index++] : '#'; } return newArr; }