偶串:
#include <iostream>
#include <string>using namespace std;
int main() {
string a;
cin>>a;//注意while处理多个case
int n=a.length();
int j;
if (n%2==1) a.pop_back();
for (int i=n-2;i>=0;i-=2) {
a.pop_back();
a.pop_back();
int k=0;
for (j=a.length()/2;j<a.length();j++){
if (a[j]==a[k])
k++;
else
break;
}
if (j==a.length()) {
cout<<a.length();
return 0;
}
}
return 0;
}
制造回文:
#include <iostream>
#include <string>
using namespace std;
int
main() {
string s;
cin>>s;
int
a[
26
]={
0
};
int
n=s.length();
int
count=
0
;
for
(
int
i=
0
;i<n;i++) {
a[s[i]-
'a'
]++;
}
for
(
int
j=
0
;j<
26
;j++) {
if
(a[j]%
2
==
1
) count++;
}
if
(count==
0
) count=
1
;
cout<<count;
return
0
;
}