@@ -0,0 +1,1149 @@
+package test;%0A%0A/**%0Ascala%3E test.Test.palindromeLen(%22%22)%0Ares1: Int = 0%0A%0Ascala%3E test.Test.palindromeLen(%22a%22)%0Ares2: Int = 1%0A%0Ascala%3E test.Test.palindromeLen(%22ab%22)%0Ares3: Int = 0%0A%0Ascala%3E test.Test.palindromeLen(%22abc%22)%0Ares4: Int = 0%0A%0Ascala%3E test.Test.palindromeLen(%22abca%22)%0Ares5: Int = 3%0A%0Ascala%3E test.Test.palindromeLen(%22volvo%22)%0Ares6: Int = 3%0A%0Ascala%3E test.Test.palindromeLen(%22merchant%22)%0Ares7: Int = 0%0A%0Ascala%3E test.Test.palindromeLen(%22ghiabcdefhelloadamhelloabcdefghi%22)%0Ares8: Int = 7%0A%0Ascala%3E test.Test.palindromeLen(%22abcxacxba%22)%0Ares9: Int = 7%0A*/%0Apublic class Test %7B%0A  private static int internalLen(String str) %7B%0A    if (str == null %7C%7C str.isEmpty()) return 0;%0A    int low = 0;%0A    int high = str.length() - 1;%0A    String left;%0A    String right;%0A    while (low %3C high) %7B%0A      left = str.substring(0, low + 1);%0A      right = str.substring(high);%0A      if (left.equals(right)) break;%0A      low++;%0A      high--;%0A    %7D%0A    if (low %3E= high) return 1;%0A    return 2 + internalLen(str.substring(low + 1, high));%0A  %7D%0A%0A  public static int palindromeLen(String str) %7B%0A    int len = internalLen(str);%0A    if (len == 1 && str.length() %3E 1) return 0;%0A    return len;%0A  %7D%0A%7D%0A

add chunked palindrome solution