题解 | #最长回文子串#

最长回文子串

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

求最长回文子串,暴力破解法
class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param A string字符串 
     * @return int整型
     */
    int getLongestPalindrome(string A) {
        // write code here
        int len=A.length();
        int num=0;
        for(int i=0;i<len;i++)
        {
            for(int j=1;j<len-i+1;j++)
            {   
                //取出字符串中所有子串
                string str (A.substr(i,j));
                //将子串倒序
                string s(str.rbegin(),str.rend());
                //判断是否为回文子串,并取出最长的回文子串
                if(s==str && num<s.length())
                    num=s.length();
            }
        }
        return num;
    }
};


全部评论
if (n < 2) { return a.length(); } int maxLen = 1; boolean[][] dp = new boolean[n][n]; for (int right = 1; right < n; right++) { for (int left = 0; left <= right; left++) { if (a.charAt(left) != a.charAt(right)) { continue; } if (right == left) { dp[left][right] = true; } else if (right - left < 3) { dp[left][right] = true; } else { dp[left][right] = dp[left + 1][right - 1]; } if (dp[left][right] && right - left + 1 > maxLen) { maxLen = right - left + 1; } } } return maxLen;
点赞 回复 分享
发布于 2023-09-12 21:05 广东

相关推荐

我补药上班:行情差,我同学在上海某上市公司(市值80亿左右)干硬件,试用期就让他们要么降薪要么离职😅
点赞 评论 收藏
分享
点赞 2 评论
分享
牛客网
牛客企业服务