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
题意:找出字符串中的最长的回文子串的长度。
最基础的字符串处理题目,没有什么难度。
#include<iostream> #include<string> using namespace std; bool Symmetric(string &str,int s,int len) { int i,j,k; for(i=s;i<len/2+s;i++) { if(str[i]!=str[s+len-(i-s)-1]) return false; } return true; } int main() { string str; getline(cin,str); int maxlen=1; int i,j,k; for(i=0;i<str.size();i++) { for(j=1;j<=str.size()-i;j++) { if(Symmetric(str,i,j)&&j>maxlen) maxlen=j; } } cout<<maxlen<<endl; return 0; }
[字符串]PAT1040 Longest Symmetric String,布布扣,bubuko.com
[字符串]PAT1040 Longest Symmetric String
原文:http://blog.csdn.net/zju_ziqin/article/details/20050603