class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param num string字符串 * @param k int整型 * @return string字符串 */ //贪心算法:维持一个从底到顶不降序的栈(用队列更方便) string removeKnums(string num, int k) { // write code here int n=num.size(); stack<char> s; for(int i=0;i<n;i++){ char temp=num[i]; while(!s.empty()&&k>0&&temp<s.top()){ s.pop(); k--; } s.push(temp); } for(int i=0;i<k;i++){ s.pop(); } string res; while(!s.empty()){ res+=s.top(); s.pop(); } reverse(res.begin(), res.end()); bool flag=true; string ans; for(int i=0;i<res.size();i++){ if(flag==true&&res[i]=='0'){ continue; } ans+=res[i]; flag=false; } return ans.size()?ans:"0"; } };