欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > > 文章正文

Longest Palindromic Substring(C++),longestpalindromic

来源: javaer 分享于  点击 15566 次 点评:252

Longest Palindromic Substring(C++),longestpalindromic


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

Example 1:

Input: "babad"
Output: "bab"
Note: "aba" is also a valid answer.

Example 2:

Input: "cbbd"
Output: "bb"

class Solution {
public:
    string longestPalindrome(string s) 
    {
        int n=s.size();
        if(n==0)
            return "";
        string lon=s.substr(0,1);
        for(int i=0;i<n-1;i++)
        {
            string s1=expand(s,i,i);
            if(lon.size()<s1.size())
                lon=s1;
            string s2=expand(s,i,i+1);
            if(lon.size()<s2.size())
                lon=s2;
        }
        return lon;
    }
    string expand(string s,int i,int j)
    {
        int l=i,r=j,n=s.size();
        while(l>=0&&r<=n-1&&s[l]==s[r])
        {
            l--;
            r++;
        }
        return s.substr(l+1,r-l-1);
    }
};

相关文章

    暂无相关文章

用户点评