文章

1

粉丝

24

获赞

1

访问

125

头像
周期字符串 题解:
P1622
发布于2025年3月13日 19:04
阅读数 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) {
   ...

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发