题目描述
3806.这道题说的是我们可以删除最多一个让我们的当前的字符串的在字典的位置更靠前
要让我们的字符在字典的位置更靠前 当我们的字符串是的字符是递增的时候我们要让字符更靠前 我们就可以将我们的字符串的最后一位删除即可
当从前到后有一位的字符比后面的字符大 那么我们就将这位字符删除让后面的字符往前面补即可
我们可以用个string类型的t 当不小于的时候t+=a[i];
当当前位置的字符大于后面的字符的话我们就用substr函数
即t+=a.substr(i+1)即从i+1位置往后到最后的字符复制到t
对于string类的直接可以比较字符的大小
具体用法
C++ 代码
#include<iostream>
#include<string>
using namespace std;
int main()
{
int n;
int T;
cin>>T;
while(T--)
{
cin>>n;
string a, t;
cin>>a;
for(int i=0;i<n;i++)
{
if(i==n-1) break;
else if(a[i]>a[i+1])
{
t+=a.substr(i+1);
break;
}
else
{
t+=a[i];
}
}
cout<<t<<endl;
}
return 0;
}