Examples Argument naplanacanalPan bob boba xyz a radar racec

Examples: Argument naplanacanalPan bob \"boba\" xyz\" a radar racecar astonmartin\'\' L\"\" (the empty string) Return i \"amana plana canalpan ama\'\' bob \"bob\" \"x\" (\"y\" or \"z\" would also be acceptable) racecar

Solution

Hi, Please find my implementation.

Please let me know in case of any issue.

public class LongestPallindrome {

   public static String findLongestPalindrome(String str)

   {

       int maxLength = 1; // The result (length of LPS)

       int start = 0;

       int len = str.length();

       int low, high;

      

       if(str.length() == 0)

           return str;

       // One by one consider every character as center point of

       // even and length palindromes

       for (int i = 1; i < len; ++i)

       {

           // Find the longest even length palindrome with center points

           // as i-1 and i.

           low = i - 1;

           high = i;

           while (low >= 0 && high < len && str.charAt(low) == str.charAt(high))

           {

               if (high - low + 1 > maxLength)

               {

                   start = low;

                   maxLength = high - low + 1;

               }

               --low;

               ++high;

           }

           // Find the longest odd length palindrome with center

           // point as i

           low = i - 1;

           high = i + 1;

           while (low >= 0 && high < len && str.charAt(low) == str.charAt(high))

           {

               if (high - low + 1 > maxLength)

               {

                   start = low;

                   maxLength = high - low + 1;

               }

               --low;

               ++high;

           }

       }

       return str.substring(start, start+maxLength);

   }

   public static void main(String[] args) {

       System.out.println(\"Longest palindrome substring is: \"+findLongestPalindrome(\"radaramanaplanacanalpanama\"));

       System.out.println(\"Longest palindrome substring is: \"+findLongestPalindrome(\"bob\"));

       System.out.println(\"Longest palindrome substring is: \"+findLongestPalindrome(\"boba\"));

       System.out.println(\"Longest palindrome substring is: \"+findLongestPalindrome(\"a\"));

       System.out.println(\"Longest palindrome substring is: \"+findLongestPalindrome(\"xyz\"));

       System.out.println(\"Longest palindrome substring is: \"+findLongestPalindrome(\"a radar racecar astonmartin\"));

       System.out.println(\"Longest palindrome substring is: \"+findLongestPalindrome(\"\"));

   }

}

/*

Sample run:

Longest palindrome substring is: amanaplanacanalpanama

Longest palindrome substring is: bob

Longest palindrome substring is: bob

Longest palindrome substring is: a

Longest palindrome substring is: x

Longest palindrome substring is: racecar

Longest palindrome substring is:

*/

 Examples: Argument naplanacanalPan bob \
 Examples: Argument naplanacanalPan bob \
 Examples: Argument naplanacanalPan bob \

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site