找到字符串里面的所有字符,循环右移一位。

#include<bits/stdc++.h>
#define int long long
#define double long double
#define x first
#define y second
using namespace std;
typedef long long LL;
typedef long long ll;
typedef pair<int,int> PII;
const int N=3e5+10;
const int M=1e3+10;
int mod=1e9+7;
int a[N];

void solve(){
    string s;cin>>s;
    vector<int> v(30);
    int cnt=0;
    for(auto it:s){
        if(v[it-'a']==0){
            v[it-'a']=1;
            cnt++;
        }
    }
    if(cnt<2){
        cout<<"-1\n";
        return ;
    }
    char las='#';
    map<char,char>mp;
    int pos;
    for(int i=0;i<26;i++){
        if(v[i]){
            if(las=='#') pos=i;
            mp[(char)(i+'a')]=las;
            las=(char)(i+'a');
        }
    }
    mp[(char)(pos+'a')]=las;
    for(auto it:s) cout<<mp[it];
}

signed main(){
    ios::sync_with_stdio(false);
    cin.tie(0),cout.tie(0);
    int _;
    _=1;
    //cin>>_;
    while(_--){
        solve();
    }
}