题解 | #密码截取#

密码截取

https://www.nowcoder.com/practice/3cd4621963e8454594f00199f4536bb1

#include <iostream>
using namespace std;
#include <bits/stdc++.h>
//返回这个字符为中心的最长对称串
string symmetry(string s, int i, int j){
      while(i >= 0 && j < s.size()) {
        if(s[i] == s[j]) {
            i--; 
            j++;
        }
        else break;
       } 
    return s.substr(i+1,j-i-1);
}
int main() {
    string s;
    cin>>s;
    int MAX = INT_MIN;
    for(int i = 0; i + 1< s.size(); i++){
        string s1 = symmetry(s, i, i + 1);
        string s2 = symmetry(s, i, i);
        int len1 = s1.size(), len2 = s2.size();
        MAX = max(len1,MAX);
        MAX = max(len2,MAX);
    }
    cout<<MAX<<endl;
    return 0;
}
// 64 位输出请用 printf("%lld")

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务