题解 | #最长回文子串#

最长回文子串

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


#include<iostream>
using namespace std;

string str;

int check(int i, int j, int len){

    while(i >=0 && j < len && str[i] == str[j]){
        i--;
        j++;
    }
    return j-i-1;
}

int main(){
    cin >> str;
    int len = str.length();
    int max = 0;
    int tmp = 0;
    for(int i = 0; i < len; ++i){
        tmp = check(i, i, len);
        if(tmp >  max){
            max = tmp;
        }
    }
    for(int i = 0; i < len; ++i){
        tmp = check(i, i+1, len);
        if(tmp >  max){
            max = tmp;
        }
    }
    cout << max << endl;
}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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