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