fork download
  1. /* package whatever; // don't place package name! */
  2.  
  3. import java.util.*;
  4. import java.lang.*;
  5. import java.io.*;
  6.  
  7. /* Name of the class has to be "Main" only if the class is public. */
  8. class Ideone
  9. {
  10. public static String longestPalindrome(String s) {
  11. if(s==null || s.length()<=1)
  12. return s;
  13.  
  14. int len = s.length();
  15. int maxLen = 1;
  16. boolean [][] dp = new boolean[len][len];
  17.  
  18. String longest = null;
  19. for(int l=0; l<s.length(); l++){
  20. for(int i=0; i<len-l; i++){
  21. int j = i+l;
  22. if(s.charAt(i)==s.charAt(i+l) && (i+l-i<=2||dp[i+1][i+l-1])){
  23. dp[i][i+l]=true;
  24.  
  25. if(i+l-i+1>maxLen){
  26. maxLen = i+l-i+1;
  27. longest = s.substring(i, i+l+1);
  28. }
  29. }
  30. }
  31. }
  32.  
  33. return longest;
  34. }
  35.  
  36. public static void main (String[] args) throws java.lang.Exception
  37. {
  38. // your code goes here
  39. String a = longestPalindrome("banana");
  40. System.out.println(a);
  41. }
  42. }
Success #stdin #stdout 0.04s 4386816KB
stdin
Standard input is empty
stdout
anana