题解 | #最长回文子串#

最长回文子串

http://www.nowcoder.com/practice/b4525d1d84934cf280439aeecc36f4af

class Solution {
public:
    int getLongestPalindrome(string A, int n) {
        int m=1;
        for(int i=0; i<n; i++)
            for(int j=n-1; j>i; j--)
            {
                if(A[i]==A[j])
                {
                    int t1=i,t2=j;
                    while(t1<n&&A[t1]==A[t2])
                    {
                        if(t1<t2)
                        {
                            t1++;
                            t2--; 
                            continue;
                        }
                        if(t1==t2)
                            m=max(m,(j-t2)*2+1);
                        else if(t1>t2)
                            m=max(m,(j-t2)*2);
                        break;
                    }
                }
            }
        return m;
    }
};
class Solution {
public:
    int getLongestPalindrome(string A, int n) {
        int m=1;
        //中间向两边展开
        for(int i=1; i<n; i++)
        {
            int j=1;//j为移动的位数
            while(i-j>=0&&i+j<=n&&A[i-j]==A[i+j])//121
                j++;
            m=max(m,j*2-1);
            j=0;
            while(i-j>=0&&i+j<=n&&A[i-j]==A[i+j-1])//11
                j++;
            m=max(m,j*2-2);
        }
        return m;
    }
};
全部评论

相关推荐

我:“加班需要有加班工资。”&nbsp;hr:“为什么?”&nbsp;哈哈哈哈哈哈哈离大谱
juntenor:你确实太理想化了,对社会不了解呀。这个和HR没有关系,这是国内特色,不然怎么还会有外包就这种逆天的存在呢。
点赞 评论 收藏
分享
05-30 12:03
山西大学 C++
offer来了我跪着...:不是骗子,等到测评那一步就知道为啥这么高工资了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务