23.num里顺序取k个数,使结果最小

class Solution {
public:
    string removeKdigits(string num, int k) {
        int n=num.size();
        string ans;
        int p=0;
        int c=n-k;//挑c个
        for(int i=0;i<c;i++){
            string::iterator iter=min_element(num.begin()+p,num.end()-c+i+1);
            ans.push_back(*iter);
            p=iter-num.begin()+1;
        }
        while(ans[0]=='0')ans.erase(ans.begin());
        if(ans.empty()) return{"0"};      
        return ans;
    }
};

猜你喜欢

转载自www.cnblogs.com/apo2019/p/13399815.html