解:
2026-04-18 12:26:26
发布于:广东
0阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
string solve(string s){
if(s.size()<=1)return s;
int m=s.size()/2;
string l=s.substr(0,m),r=s.substr(m);
reverse(l.begin(),l.end());
sort(r.begin(),r.end());
return solve(l)+solve(r);
}
int main(){
int k;string s;
cin>>k>>s;
cout<<solve(s);
}
采用分治递归,左半翻转右半排序后合并
这里空空如也






有帮助,赞一个