class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * 栈排序 * @param a int整型vector 描述入栈顺序 * @return int整型vector */ vector<int> solve(vector<int>& a) { int n = a.size(); vector<bool> mp(n + 5, false); vector<int> ret; stack<int> st; for(auto i : a) { mp[i] = true; st.push(i); while(mp[n]) n--; while(!st.empty() && st.top() > n) { ret.push_back(st.top()); st.pop(); } } return ret; } };