Golang | Leetcode Golang题解之第402题移掉K位数字

题目:

题解:

Go 复制代码
func removeKdigits(num string, k int) string {
    stack := []byte{}
    for i := range num {
        digit := num[i]
        for k > 0 && len(stack) > 0 && digit < stack[len(stack)-1] {
            stack = stack[:len(stack)-1]
            k--
        }
        stack = append(stack, digit)
    }
    stack = stack[:len(stack)-k]
    ans := strings.TrimLeft(string(stack), "0")
    if ans == "" {
        ans = "0"
    }
    return ans
}
相关推荐
fcopy1 小时前
Golang项目:实现生产者消费者模式
缓存·golang
Sunyanhui12 小时前
力扣 最长回文字串-5
算法·leetcode·职场和发展
一直学习永不止步2 小时前
LeetCode题练习与总结:数组中两个数的最大异或值--421
java·算法·leetcode·字典树·数组·位运算·哈希表
桃园码工2 小时前
第一章:Go 语言概述 1.什么是 Go 语言? --Go 语言轻松入门
开发语言·后端·golang
Ning_.3 小时前
力扣第 66 题 “加一”
算法·leetcode
YSRM3 小时前
异或-java-leetcode
java·算法·leetcode
木向3 小时前
leetcode:222完全二叉树的节点个数
算法·leetcode
Ning_.3 小时前
力扣第 67 题 “二进制求和”
算法·leetcode
FFDUST3 小时前
C++ 优先算法 —— 无重复字符的最长子串(滑动窗口)
c语言·c++·算法·leetcode
桃园码工3 小时前
第一章:Go 语言概述 2.安装和配置 Go 开发环境 --Go 语言轻松入门
开发语言·后端·golang