2025每日刷题(234)
Leetcode---66. 加一

new(big.Int)法实现代码
go
import "math/big"
func plusOne(digits []int) []int {
num := new(big.Int)
lens := len(digits)
for i:= 0; i < lens; i++ {
num.Mul(num, big.NewInt(10))
num.Add(num, big.NewInt(int64(digits[i])))
}
num.Add(num, big.NewInt(1))
flag := false
if(digits[lens - 1] == 9) {
flag = true
}
var ans []int
if(flag) {
ans = make([]int, lens + 1)
for i := lens; i >= 0; i-- {
mod := new(big.Int)
mod.Mod(num, big.NewInt(10))
ans[i] = int(mod.Int64())
if num.Cmp(big.NewInt(0)) == 0 {
flag = false
break
}
num.Div(num, big.NewInt(10))
}
if(!flag) {
ans = ans[1:]
}
} else {
ans = make([]int, lens)
copy(ans, digits)
ans[lens - 1] += 1
}
return ans
}
运行结果

之后我会持续更新,如果喜欢我的文章,请记得一键三连哦,点赞关注收藏,你的每一个赞每一份关注每一次收藏都将是我前进路上的无限动力 !!!↖(▔▽▔)↗感谢支持!