程式語言 - LeetCode - C++ - 402. Remove K Digits



參考資訊:
https://www.cnblogs.com/grandyang/p/5883736.html

題目:


解答:

class Solution {
public:
    string removeKdigits(string num, int k) {
        string ans = "";
        int size = num.size() - k;

        for (char c : num) {
            while (k && ans.size() && ans.back() > c) {
                ans.pop_back();
                k -= 1;
            }
            ans.push_back(c);
        }

        ans.resize(size);
        while (!ans.empty() && ans[0] == '0') {
            ans.erase(ans.begin());
        }

        return ans.empty() ? "0" : ans;
    }
};