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
}
相关推荐
小雅痞1 小时前
[Java][Leetcode simple]26. 删除有序数组中的重复项
java·leetcode
YuforiaCode1 小时前
LeetCode 热题 100 35.搜索插入位置
数据结构·算法·leetcode
林鸿群2 小时前
go语言实现IP归属地查询
开发语言·golang·ip归属地
st紫月3 小时前
用vue和go实现登录加密
前端·vue.js·golang
YGGP4 小时前
浅析 Golang 内存管理
golang·内存泄露·内存逃逸
2301_807611494 小时前
310. 最小高度树
c++·算法·leetcode·深度优先·回溯
Chandler245 小时前
Go 语言 net/http 包使用:HTTP 服务器、客户端与中间件
服务器·http·golang
Chandler246 小时前
Go语言:json 作用和语法
开发语言·golang·json
Musennn7 小时前
102. 二叉树的层序遍历详解:队列操作与层级分组的核心逻辑
java·数据结构·算法·leetcode
理论最高的吻8 小时前
77. 组合【 力扣(LeetCode) 】
c++·算法·leetcode·深度优先·剪枝·回溯法