/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
if(s==null || s.length()<=1)
return s;
int len = s.length();
int maxLen = 1;
boolean [][] dp = new boolean[len][len];
for(int l=0; l<s.length(); l++){
for(int i=0; i<len-l; i++){
int j = i+l;
if(s.charAt(i)==s.charAt(i+l) && (i+l-i<=2||dp[i+1][i+l-1])){
dp[i][i+l]=true;
if(i+l-i+1>maxLen){
maxLen = i+l-i+1;
longest = s.substring(i, i+l+1);
}
}
}
}
return longest;
}
{
// your code goes here
String a
= longestPalindrome
("banana"); }
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIGxvbmdlc3RQYWxpbmRyb21lKFN0cmluZyBzKSB7CgkJIGlmKHM9PW51bGwgfHwgcy5sZW5ndGgoKTw9MSkKICAgICAgICByZXR1cm4gczsKIAogICAgaW50IGxlbiA9IHMubGVuZ3RoKCk7CiAgICBpbnQgbWF4TGVuID0gMTsKICAgIGJvb2xlYW4gW11bXSBkcCA9IG5ldyBib29sZWFuW2xlbl1bbGVuXTsKIAogICAgU3RyaW5nIGxvbmdlc3QgPSBudWxsOwogICAgZm9yKGludCBsPTA7IGw8cy5sZW5ndGgoKTsgbCsrKXsKICAgICAgICBmb3IoaW50IGk9MDsgaTxsZW4tbDsgaSsrKXsKICAgICAgICAgICAgaW50IGogPSBpK2w7CiAgICAgICAgICAgIGlmKHMuY2hhckF0KGkpPT1zLmNoYXJBdChpK2wpICYmIChpK2wtaTw9Mnx8ZHBbaSsxXVtpK2wtMV0pKXsKICAgICAgICAgICAgICAgIGRwW2ldW2krbF09dHJ1ZTsKIAogICAgICAgICAgICAgICAgaWYoaStsLWkrMT5tYXhMZW4pewogICAgICAgICAgICAgICAgICAgbWF4TGVuID0gaStsLWkrMTsgCiAgICAgICAgICAgICAgICAgICBsb25nZXN0ID0gcy5zdWJzdHJpbmcoaSwgaStsKzEpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQogCiAgICByZXR1cm4gbG9uZ2VzdDsgICAgICAgIAoJfQogICAgCglwdWJsaWMgc3RhdGljIHZvaWQgbWFpbiAoU3RyaW5nW10gYXJncykgdGhyb3dzIGphdmEubGFuZy5FeGNlcHRpb24KCXsKCQkvLyB5b3VyIGNvZGUgZ29lcyBoZXJlCgkJU3RyaW5nIGEgPSBsb25nZXN0UGFsaW5kcm9tZSgiYmFuYW5hIik7CgkJU3lzdGVtLm91dC5wcmludGxuKGEpOwoJfQp9