文章
1
粉丝
24
获赞
1
访问
125
如果字符串的周期为k那么循环右移k位一定等于原字符串,这样时间复杂度可能会高吧,但这个思路比较简单了.
#include<bits/stdc++.h>
using namespace std;
void my_reverse(string &s,int l,int h){
while(l<h){
char tmp = s[l];
s[l] = s[h];
s[h] = tmp;
l++;
h--;
}
}
int main(){
string s;
string rs;
int n;
cin >>n;
for(int i= 1;i<=n;i++){
cin >> s;
rs = s;
for(int j = 1;j<=rs.size();j++){
my_reverse(rs,0,rs.size()-1);
my_reverse(rs,0,j-1);
my_reverse(rs,j,rs.size()-1);
if(rs == s) {
 ...
登录后发布评论
暂无评论,来抢沙发