当初给你一个字符串S,请你计算S中有多少间断子串是回文串。
输出
输出蕴含多组测试数据。每组输出是一个非空字符串,长度不超过5000。
输入
对于每组输出,输入回文子串的个数。
样例输出 Copy
aba
aa
样例输入 Copy
4
3
代码示例(本人写的,只能过平台,不完满)
//#include<iostream>//#include<string>//#include<string.h>//using namespace std;////int main(){// string s;// while(getline(cin,s)){// int len = s.length();// int i,left = 0,right = 0;// int cnt = len;// for(i = 0; i < len; i++){// left = i - 1;//隔了一个字符对称的两个字符进行比拟 // right = i + 1;// while(left >= 0 && right < len){// if(s[left] == s[right]){//与相隔一个字符对称的进行比拟(XYX型,比拟两个XX) ,看是否相等,相等则回文子串加1 // ++ cnt;// -- left;// ++ right;//若合乎则向两边扩散,看更长的子串(隔着3个Y,AXYXA)的两边两个A是否相等,直到越界,相等就加1 // }else{// break;// }// }// left = i - 1;//左右相邻的两个字符进行比拟 // right = i;// while(left >= 0 && right < len){// if(s[left] == s[right]){//与相邻字符进行比拟(XX型,比拟两个XX) ,看是否相等,相等则回文子串加1 // ++ cnt;// -- left;// ++ right;//同上,若合乎向两边扩散(AXXA),看两个边A是否相等,直到遍历残缺个字符串 // }else{// break;// }// }// }// cout << cnt << endl;// }// return 0;//}