0分!
查看原帖
0分!
971024
Jerry_zpl楼主2024/4/29 12:49
#include<bits/stdc++.h>
using namespace std;
string s;
stack<char>stk;
char t[200005];
int main()
{
	cin>>s;
	t[s.size()]=127;
	for(int i=s.size()-1;i>=0;i--)
	{
		if(s[i]<t[i+1]) t[i]=s[i];
		else t[i]=t[i+1];
	}
	for(int i=0;i<s.size();i++)
	{
		stk.push(s[i]);
		while(stk.size()==1&&stk.top()<=t[i+1]) 
		{
			cout<<stk.top();
			stk.pop();
		}
	}
	return 0;
}
2024/4/29 12:49
加载中...