pta L2-008 最长对称子串

题目链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805067704549376

对于字符串的考察,题目思路可以如下:

然后分别处理就可以了

Talk is cheap. Show me the code.

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 string s;
 4 int ans;
 5 int main()
 6 {
 7     getline(cin,s); 
 8     for(register int i=0;i<s.length();i++)
 9     {
10         for(register int j=0;i-j>=0&&i+j<s.length();j++)
11         {
12             //回文串为奇数 
13             if(s[i-j]!=s[i+j])
14             {
15                 break;
16             }
17             ans=max(ans,2*j+1);
18         }
19             for(register int j=0;i-j>=0&&i+j+1<s.length();j++)
20             {
21                 //回文串为偶数 
22                 if(s[i-j]!=s[i+j+1])
23                 {
24                     break;
25                 }
26                 ans=max(ans,2*j+2);
27             }
28     }
29     cout<<ans;
30     return 0;
31 }

 

posted @ 2022-04-22 15:21  江上舟摇  阅读(42)  评论(0)    收藏  举报