class Solution {
public:
string removeKdigits(string num, int k) {
vector<int> s;
string res = "";
for(int i = 0; i < num.size(); i++) {
int number = num[i] - '0';
while(s.size() != 0 && number < s.back() && k > 0) {
s.pop_back();
k--;
}
//防止出现以0开头的情况
if(number != 0 || s.size() != 0) s.push_back(number);
}
//应对诸如数字从左往右升序,移除的数字个数没有达到k个的情况
while(s.size() != 0 && k > 0) {
s.pop_back();
k--;
}
for(int i = 0; i < s.size(); i++) {
res += to_string(s[i]);
}
if(res.size() == 0) return "0";
return res;
}
};
LeetCode402. 移掉K位数字(大疆2021/8/16后端B卷)
最新推荐文章于 2021-08-13 22:11:36 发布