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
}
相关推荐
chenqianghqu2 分钟前
golang CGO在跨平台交叉编译x86到arm64
golang
@atweiwei5 分钟前
Go语言并发编程面试题精讲(上)
java·开发语言·面试·golang·channel
不会写DN6 分钟前
使用 sync.Once 解决 Go 并发场景下的重复下线广播问题
开发语言·网络·golang
会编程的土豆13 分钟前
【数据结构与算法】二叉树大总结
数据结构·算法·leetcode
y = xⁿ25 分钟前
【LeetCode Hot100】动态规划:T70:爬楼梯 T118:杨辉三角形 T198:打家劫舍
算法·leetcode·动态规划
人道领域37 分钟前
【LeetCode 刷题日】19.删除链表的倒数第n个节点
算法·leetcode·链表
py有趣39 分钟前
力扣热门100题之最大子数组和
算法·leetcode
小肝一下1 小时前
每日两道力扣,day4
c++·算法·leetcode·职场和发展
Gse0a362g1 小时前
Go - Zerolog使用入门
开发语言·后端·golang
牧天白衣.1 小时前
力扣215.数组中的第K个最大元素
算法·leetcode