Write a function that returns the longest palindrome in a given string. e.g "ccddcc" in the string "
        Posted  
        
            by Learner
        on Stack Overflow
        
        See other posts from Stack Overflow
        
            or by Learner
        
        
        
        Published on 2009-07-12T00:16:39Z
        Indexed on 
            2010/04/20
            17:13 UTC
        
        
        Read the original article
        Hit count: 377
        
I thought of a solution but it runs in O(n^2) time
Algo 1:
Steps: Its a brute force method
- Have 2 for loops
for i = 1 to i less than array.length -1
for j=i+1 to j less than array.length - This way you can get substring of every possible combination from the array
 - Have a palindrome function which checks if a string is palindrome
 - so for every substring (i,j) call this function, if it is a palindrome store it in a string variable
 - If you find next palindrome substring and if it is greater than the current one, replace it with current one.
 - Finally your string variable will have the answer
 
Issues: 1. This algo runs in O(n^2) time.
Algo 2:
- Reverse the string and store it in diferent array
 - Now find the largest matching substring between both the array
 - But this too runs in O(n^2) time
 
Can you guys think of an algo which runs in a better time. If possible O(n) time
© Stack Overflow or respective owner