码迷,mamicode.com
首页 > 其他好文 > 详细

[栈] leetcode 402 Remove K Digits

时间:2019-08-10 17:46:13      阅读:83      评论:0      收藏:0      [点我收藏+]

标签:tps   div   http   code   push   color   move   tco   pop   

problem:https://leetcode.com/problems/remove-k-digits

         单调栈。维护一个递增的栈,每pop一次意味着移除了一个元素,k--。减为0时不再移除。前导0处理起来很麻烦,很容易WA。

class Solution {
public:
    string removeKdigits(string num, int k) {
        string res;
        for(int i = 0;i < num.size(); i++)
        {
            if(res.size() && res.front() == 0) res = res.substr(1);
            while(k && !res.empty() && num[i] < res.back())
            {
                res.pop_back();
                k--;
            }
            
            res.push_back(num[i]);
        }
        while(k && res.size())
        {
            k--;
            res.pop_back();
        }
        return res.empty() ? "0" : res;
    }
};

 

[栈] leetcode 402 Remove K Digits

标签:tps   div   http   code   push   color   move   tco   pop   

原文地址:https://www.cnblogs.com/fish1996/p/11331982.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!