jpayne@68: package fun; jpayne@68: jpayne@68: import shared.Tools; jpayne@68: jpayne@68: public class Palindrome { jpayne@68: jpayne@68: public static void main(String[] args){ jpayne@68: System.out.println(longestPalindrome(args[0])); jpayne@68: } jpayne@68: jpayne@68: public static String longestPalindrome(String s){ jpayne@68: int longestLength=0; jpayne@68: int longestStart=0; jpayne@68: for(int i=0; ilongestLength){ jpayne@68: longestLength=lenEven; jpayne@68: longestStart=i-lenEven/2+1; jpayne@68: } jpayne@68: int lenOdd=palindromeLength(s, i, i); jpayne@68: if(lenOdd>longestLength){ jpayne@68: longestLength=lenOdd; jpayne@68: longestStart=i-lenOdd/2; jpayne@68: } jpayne@68: } jpayne@68: return s.substring(longestStart, longestStart+longestLength+1); jpayne@68: } jpayne@68: jpayne@68: public static int palindromeLengthOdd(String s, int middle){ jpayne@68: int length=1; jpayne@68: int a=middle-1, b=middle+1; jpayne@68: while(a>=0 && b=0 && b=0 && b