A101792.午枫的字符串移动2 题解
2026-01-26 11:26:34
发布于:北京
0阅读
0回复
0点赞
遍历字符串,每次以 作为字符串的首字母(即左移),更新最大值和最小值即可。
将字符串的后半部分()和前半部分()相连,即可获得以 为首字母的字符串。
注意要设置初始值。
#include <bits/stdc++.h>
using namespace std;
string s,ans1,ans2;
int main(){
cin>>s;
ans1=s,ans2=s;
for (int i=1;s[i];i++){
string s1=s,s2=s;
s1.erase(0,i);//后半部分的字符串去除前半部分
s2.erase(i,1000);//前半部分的字符串去除后半部分
ans1=min(ans1,s1+s2);
ans2=max(ans2,s1+s2);
}
cout<<ans1<<'\n'<<ans2;
return 0;
}
这里空空如也







有帮助,赞一个