AcWing 3806. 最小化字符串 --自认为易解
原题链接
简单
作者:
吴子涵
,
2021-08-20 13:50:15
,
所有人可见
,
阅读 298
#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
int main()
{
int T;
cin>>T;
while(T--)
{
int n,j;
string a,b;
bool flag=true;
cin>>n>>a;
a[n]=' ';//边界
for (int i = 0; i < n; i ++ )
if(a[i]>a[i+1]&&a[i+1]!=' '&&flag)//符合情况就保存,删掉的地方越前越好
{
j=i+1;
flag=false;
continue;
}
else b+=a[i];
if(!flag)
cout<<b;
else {
for (int i = 0; i < n-1; i ++ )cout<<a[i];//注意不减是不行的,所以如果没发现情况末尾去掉
}
puts("");
}
return 0;
}