leetcode——5——Longest Palindromic Substring

Given a string S, find the longest palindromic substring in S. You may assume that the maximum length of S is 1000, and there exists one unique longest palindromic substring.

class Solution {
public:
 string str_helper(string s, int left, int right)  
    {  
        int n = s.length();  
        while(left>=0 && right<=n-1 && s[left]==s[right]){  
            left--;  
            right++;  
        }  
        return s.substr(left+1, right-left-1);  
          
    }  
    string longestPalindrome(string s) {  
            if(s.length() <= 1)  
                return s;  
        string longest = s.substr(0,1);  
        for (int i=0; i<s.length(); i++){  
              
            string tmp = str_helper(s, i, i);  
            if (tmp.length() > longest.length())  {  
                longest = tmp;  
            }  
            tmp = str_helper(s, i, i+1);  
            if (tmp.length() > longest.length()) {  
                longest = tmp;  
            }  
        }  
      
        return longest;  
    } 

};


你可能感兴趣的:(LeetCode,算法题)