image.png

题解

  1. function removeKdigits(num: string, k: number): string {
  2. if (k <= 0) return num;
  3. let saveLen = num.length - k;
  4. let stack = [];
  5. for (let i = 0; i < num.length; i++) {
  6. while (k && stack.length && stack[stack.length - 1] > num.charAt(i)) {
  7. stack.pop();
  8. k--;
  9. }
  10. stack.push(num.charAt(i));
  11. }
  12. let res = stack.splice(0, saveLen);
  13. console.log(res);
  14. while (res && res[0] === '0') {
  15. res.shift();
  16. }
  17. return res.join('') || '0';
  18. };