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
}
相关推荐
圣保罗的大教堂13 分钟前
leetcode 3531. 统计被覆盖的建筑 中等
leetcode
卜锦元4 小时前
Golang中make()和new()的区别与作用?
开发语言·后端·golang
海上彼尚5 小时前
Go之路 - 3.go的数据类型与转换
开发语言·后端·golang
龙门吹雪5 小时前
Go 语言包初始化顺序详解
golang·init·初始化顺序·依赖包·导入包
Tisfy5 小时前
LeetCode 3531.统计被覆盖的建筑:最大最小值
算法·leetcode·题解·桶排序
月明长歌6 小时前
【码道初阶】Leetcode.189 轮转数组:不熟悉ArrayList时踩得坑,被Arraylist初始化骗了?
java·算法·leetcode·职场和发展
海上彼尚6 小时前
Go之路 - 4.go的集合[完整版]
开发语言·后端·golang
fantasy_arch6 小时前
leetcode算法-最大乘积子数组
算法·leetcode·职场和发展
长安er6 小时前
LeetCode876/141/142/143 快慢指针应用:链表中间 / 环形 / 重排问题
数据结构·算法·leetcode·链表·双指针·环形链表