### Question:
StringAlgorithm { public static boolean isBackToText(String origin) { int left = 0; int right = origin.length() - 1; boolean isBackToText = true; boolean oddNumber = !(origin.length() % 2 == 0); while (!(oddNumber ? (left == right) : ((left + 1) == right) && origin.substring(0, left + 1).equals(origin.substring(right)))) { if (origin.charAt(left) != origin.charAt(right)) { isBackToText = false; break; } left++; right--; } return isBackToText; }  int getNoRepeatLength(String origin); static int substringBackTextDoublePoint(String origin); static int substringBackTextLength2(String origin); static int substringBackTextSinglePoint(String origin); static boolean isBackToText(String origin); static int kmp(String origin, String template); static String getCommonPrefix(String[] origin); static String multiplicationTable(Integer limit); String multiplicationTable();  }### Answer:
@Test public void testIsBackToText() { String tmp = "abcacba"; boolean backToText = StringAlgorithm.isBackToText(tmp); System.err.println(backToText); }