leetcode-daily/2202/220218.go

34 lines
526 B
Go

package main
import (
"fmt"
)
func removeKdigits(num string, k int) (ret string) {
stack := make([]int32, 0)
for _, v := range num {
for k > 0 && len(stack) > 0 && stack[len(stack)-1] > v {
stack = stack[:len(stack)-1]
k--
}
stack = append(stack, v)
}
if k > 0 {
stack = stack[:len(stack)-k]
}
for _, v := range stack {
ret += string(v)
}
for len(ret) > 1 && ret[0] == '0' {
ret = ret[1:]
}
if len(ret) == 0 {
return "0"
}
return
}
func main() {
fmt.Println(removeKdigits("1432219", 3))
}