算法——栈

. - 力扣(LeetCode)

给你一个以字符串表示的非负整数 num 和一个整数 k ,移除这个数中的 k 位数字,使得剩下的数字最小。请你以字符串形式返回这个最小的数字。

class Solution {
public:
    string removeKdigits(string num, int k) {
        vector<char> stk;
        for (auto& digit: num) {
            while (stk.size() > 0 && stk.back() > digit && k) {
                stk.pop_back();
                k -= 1;
            }
            stk.push_back(digit);
        }

        for (; k > 0; --k) {
            stk.pop_back();
        }

        string ans = "";
        bool isLeadingZero = true;
        for (auto& digit: stk) {
            if (isLeadingZero && digit == '0') {
                continue;
            }
            isLeadingZero = false;
            ans += digit;
        }
        return ans == "" ? "0" : ans;
    }
};

相关推荐

  1. 前端算法入门【

    2024-04-12 10:10:03       21 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-12 10:10:03       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-12 10:10:03       106 阅读
  3. 在Django里面运行非项目文件

    2024-04-12 10:10:03       87 阅读
  4. Python语言-面向对象

    2024-04-12 10:10:03       96 阅读

热门阅读

  1. 闭包用运。

    2024-04-12 10:10:03       44 阅读
  2. node.js 常用命令大全

    2024-04-12 10:10:03       45 阅读
  3. 计算机视觉介绍

    2024-04-12 10:10:03       145 阅读
  4. 三种语言实现spark createDataFrame

    2024-04-12 10:10:03       142 阅读
  5. vue 项目中添加DES加密

    2024-04-12 10:10:03       197 阅读
  6. C# 多维数组

    2024-04-12 10:10:03       164 阅读
  7. tcp三次握手四次挥手

    2024-04-12 10:10:03       38 阅读
  8. python如何判断图片为黑白还是彩色

    2024-04-12 10:10:03       33 阅读
  9. 4-10 面经

    2024-04-12 10:10:03       31 阅读