class Solution {
public:
    string removeKnums(string num, int k) {
        int n = num.size();
        if(n <= k) return string("0");
        string v;
        for(char c:num){
            while(v.size() && v.back() > c && k){
                v.pop_back();
                --k;
            }
            v.push_back(c);
        }
        //删除前导0
        int i = 0;
        while(i < v.size() && v[i] == '0') ++i;
        string ret = v.substr(i);
        return ret;
    }
};

拿个字符串当栈用就行,从前往后构造升序列表。