非 0 位的下标将其值与第一个字母交换,否则直接输出字母窜。即可获
得最小值。
代码如下:
#include <iostream>
#include <cstring>
#include <cstdio>
#include <algorithm>
#include <queue>
using namespace std;
#define N 102
char in[N];
int main()
{
#ifdef OFFLINE
freopen("t.txt", "r", stdin);
#endif
int i, j, k, n, t, m;
scanf("%d", &t);
while (t--){
scanf("%d%s", &n, &in);
sort(in, in + n);
if (in[0] == '0'&&n > 1){
for (i = 0; i < n; i++){
if (in[i] != '0'){
k = i; break;
}
}
in[0] = in[k];
in[k] = '0';
}
printf("%s\n", in);
}
return 0;
}