NC17.最长回文子串

最长回文子串

https://www.nowcoder.com/practice/b4525d1d84934cf280439aeecc36f4af?tpId=196&rp=1&ru=%2Fexam%2Foj&qru=%2Fexam%2Foj&sourceUrl=%2Fexam%2Foj%3Ftab%3D%25E7%25AE%2597%25E6%25B3%2595%25E7%25AF%2587%26topicId%3D196&difficulty=&judgeStatus=&tags=&title=&gioEnter=menu

NC17.最长回文子串

class Solution {
public:
    int getLongestPalindrome(string A) {
        int rst = 0;
        int len = (int)A.length();
        for (int i = 0; i < len - rst; ++i) {
            for (int j = len - 1; j >= i; --j) {
                if (isPalindrome(A, i, j)) {
                    rst = max(rst, abs(j - i + 1));
                }
            }
        }
        return rst;
    }
private:
    bool isPalindrome(const string& s, int l, int r) {
        while (l < r) {
            if (s[l++] != s[r--]) {
                return false;
            }
        }
        return true;
    }
};

解题思路:

难点1:isPalindrome的抽象;

难点2:双指针的抽象;

难点3:len - rst进行优化,不用遍历完所有字符,如果最后剩下的字符数量小于rst就不用遍历了;

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-08 14:08
点赞 评论 收藏
分享
06-23 11:43
门头沟学院 Java
allin校招的烤冷...:我靠,今天中午我也是这个hr隔一个星期发消息给我。问的问题还是一模一样的😅
点赞 评论 收藏
分享
06-11 17:39
门头沟学院 Java
小呆呆的大鼻涕:卧槽,用户彻底怒了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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