小题一道
2024-04-20 14:52:27
发布于:上海
54阅读
0回复
0点赞
#include<iostream>
using namespace std;
int main(){
int i,n,s;
string a,s1,s2,cl;
cin>>a; //输入
n=a.size(); //初始区间赋值
while(s1==s2){ //左右两边相等继续下次判断
s=s1.size(); //保存上次字符串长度
s1=s2=cl; //使用空字符串清除内容(也可使用clear())
for(i=0;i<n/2;i++)s1+=a[i]; //字符串拆分
for(i=n-1;i>=n/2;i--)s2+=a[i]; //字符串拆分
n/=2; //将下次搜索区间变为上次的一半
}
if(s)cout<<s; //输出长度
else cout<<a.size(); //如果初始字符串长度为奇数个,需要筛出
}
这里空空如也
有帮助,赞一个