【LeetCode】5. Longest Palindromic Substring

Description:

Given a string s, find the longest palindromic substring in s. You may assume that the maximum length of s is 1000.

Example:

Input: "babad"

Output: "bab"

Note: "aba" is also a valid answer.

Example:

Input: "cbbd"

Output: "bb"

 Solution:

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

            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】5. Longest Palindromic Substring)