Advertisement
nikunjsoni

402

Apr 8th, 2021
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.63 KB | None | 0 0
  1. class Solution {
  2. public:
  3.     string removeKdigits(string num, int k) {
  4.         int sz = num.size(), rm=0;
  5.         if(sz == k) return "0";
  6.         vector<char> stk;
  7.         for(int i=0; i<sz; i++){
  8.             int curr = num[i];
  9.             while(!stk.empty() && stk.back()>curr && rm<k){
  10.                 stk.pop_back();
  11.                 rm++;
  12.             }
  13.             if(stk.empty() && curr == '0') continue;
  14.             stk.push_back(curr);
  15.         }
  16.         while(!stk.empty() && rm++ < k) stk.pop_back();
  17.         string ans = string(stk.begin(), stk.end());
  18.         if(ans == "") ans = "0";
  19.         return ans;
  20.     }
  21. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement