leetcode

来源:互联网 发布:php新闻管理系统源码 编辑:程序博客网 时间:2024/04/30 01:21

利用动态规划

参考  http://www.cnblogs.com/tenosdoit/p/3675788.html

代码

class Solution {public:    string longestPalindrome(string s) {                int length = s.length();        if(length<=1)            return s;        bool flag[length][length];        memset(flag, 0, sizeof(flag));                int left = 0;        int right = 0;                flag[0][0] = true;        for(int i = 1; i < length; ++i)        {            flag[i][i] = true;            flag[i][i-1] = true;                    }                for(int k = 2; k <= length; ++k)            for(int i = 0; i <= length-k; ++i)            {                if(s[i]==s[i+k-1]&&flag[i+1][i+k-2])                {                    flag[i][i+k-1] = true;                    if(right-left+1 < k)                    {                        left = i;                        right = i+k-1;                    }                                    }                            }                    return s.substr(left, right-left+1);                    }};


0 0
原创粉丝点击