add: 220218 [golang]
This commit is contained in:
parent
0a41b5abf5
commit
8753504ee4
|
|
@ -0,0 +1,33 @@
|
||||||
|
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))
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue