题解 | #最长回文子串#

最长回文子串

https://www.nowcoder.com/practice/12e081cd10ee4794a2bd70c7d68f5507

#include <bits/stdc++.h>

using namespace std;

bool check(string s, int l, int r) {
    for (; l < r; l++, r--)
        if (s[l] != s[r]) return false;
    return true;
    // 这里我们判断一个字符串是不是回文串
}

signed main() {
    string s;
    cin >> s;
    int maxx = INT_MIN;
    // 这个maxx是我们的最长回文子串的一个长度
    for (int i = 0; i < s.size(); i++) {
        // 我们第一层循环枚举的是我们这个字符串的一个起点的位置
        for (int j = i; j < s.size(); j++) {
            // 我们的第二层循环是用来循环我们的结尾的位置是在哪里的
            if (check(s, i, j)) {
                maxx = max(maxx, j - i + 1);
                // 如果我们当前的这个字符串是回文串,我们更新一下最大的长度
            }
        }
    }
    cout << maxx << "\n";
    return 0;
}

全部评论

相关推荐

码农索隆:竞争压力小,就你一个不用卷
点赞 评论 收藏
分享
屌丝逆袭咸鱼计划:心态摆好,man,晚点找早点找到最后都是为了提升自己好进正职,努力提升自己才是最关键的😤难道说现在找不到找的太晚了就炸了可以鸡鸡了吗😤早实习晚实习不都是为了以后多积累,大四学长有的秋招进的也不妨碍有的春招进,人生就这样
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
昨天 13:36
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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