1040 Longest Symmetric String
题目大意
在一长串字符中,寻找最长回文数
算法思想
- 双层循环,判断每个字符串是否为回文数
- 一开始还感觉一定会有很长的数,导致时间不够,结果竟然没有这个坑,侥幸过了
代码
#include<iostream>
#include<string>
using namespace std;
string s;
bool sub(int x, int y) {//判断是否为回文数
for (int i = x,j=y; i <= j; i++,j--) {
if (s[i] != s[j])
return false;
}
return true;
}
int main() {
int length = 1;
getline(cin,s);//输入一整行
for (int i = 0; i < s.size(); i++) {
for (int j = i + 1; j < s.size(); j++) {
if (sub(i, j) && j - i + 1 > length)//判断是否为回文数,并且长度更长
length = j - i + 1;
}
}
cout << length;
return 0;
}