题解 | #最长回文子串#

最长回文子串

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

#include <iostream>
using namespace std;

int main() {
    int mxlen = 1;
    string s;
    cin >> s;
    for(int i=1; i<s.size(); i++){
        for(int j=0; j<i; j++){
            int k = j, u = i;
            while(s[k] == s[u] && k<u){
                k++;
                u--;
            }
            // 注意这里的判断条件:k>=u,只有这样才能包含子串个数是偶数和奇数的所有情况
            if(k>=u && (i-j+1)>mxlen){
                mxlen = i-j+1;
            }
        }
    }
    cout << mxlen << endl;
    return 0;
}
// 64 位输出请用 printf("%lld")

基本思路是判断输入字符中的以每个字符结尾的最大回文长度。

全部评论

相关推荐

在笔试的大西瓜很矫健:校招数分不用想了,这经历和学历都不够用,大厂更别想,初筛都过不了,说点不好听的小厂数分都进不去(小厂也是假数分),要两个对口实习+3个项目(或者3+2),而且要有含金量才能补一点你的学历劣势。 建议刷实习,社招找数分,校招看运气,能入行业就行,可以运营转数分
点赞 评论 收藏
分享
03-04 14:31
门头沟学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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