强烈推荐,刷PTA的朋友都认识一下柳神–PTA解法大佬
本文由参考于柳神博客写成
还有就是非常非常有用的 算法笔记 全名是
算法笔记 上级训练实战指南 //这本都是PTA的题解
算法笔记
PS 今天也要加油鸭
题目原文
Given a string, you are supposed to output the length of the longest symmetric sub-string. For example, given Is PAT&TAP symmetric?
, the longest symmetric sub-string is s PAT&TAP s
, hence you must output 11
.
Input Specification:
Each input file contains one test case which gives a non-empty string of length no more than 1000.
Output Specification:
For each test case, simply print the maximum length in a line.
Sample Input:
Is PAT&TAP symmetric?
Sample Output:
11
生词如下:
symmetric 对称的
sub-string 子串
题目大意:
给你字符串,要你找出最长的对称子串
我的土鳖代码:
#include<iostream>
#include<string>
using namespace std;
int main(void) {
string a;
getline(cin, a);
int len = a.length();
int begin = 0, end = 0;
int result = 1;
for (int i = 0; i < len; ++i) {
begin = i - 1; end = i + 1;
while (begin >= 0 && end <len) {
if (a[begin] == a[end]) {
if (end - begin + 1 > result) result = end - begin + 1;
--begin;
++end;
}
else break;
}
begin = i; end = i + 1;
while(begin >= 0 && end < len) {
if (a[begin] == a[end]) {
if (end - begin + 1 > result) result = end - begin + 1;
--begin;
++end;
}
else break;
}
}
cout << result;
return 0;
}