Leetcode—166. 加一【简单】new(big.Int)法

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
}

运行结果

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

相关推荐
37.2℃99514 分钟前
专业的Claude Design解决方案
前端·算法
め.18 分钟前
定点数运算库
算法·unity
蜜桃味女焊匠人21 分钟前
气保焊怎样改造,稳定达成40%-60%节气降耗效果?
人工智能·经验分享·其他·机器人
dyxal26 分钟前
最长公共子序列(LCS)
python·算法
布朗克16835 分钟前
Go 入门到精通-29-测试与基准
开发语言·后端·golang·测试与基准
稚南城才子,乌衣巷风流3 小时前
ST 表(Sparse Table)算法详解:原理、实现与应用
算法
hold?fish:palm3 小时前
9 找到字符串中所有字母异位词
c++·算法·leetcode
Sw1zzle3 小时前
算法入门(六):贪心算法 - 基础入门(Leetcode 121/455/860/376/738)
算法·leetcode·贪心算法
上海广测检测科技有限公司3 小时前
笔记本电脑出口日本TELEC认证详解:技适申请流程与射频测试要点
经验分享
青山木3 小时前
Hot 100 --- 岛屿数量
java·数据结构·算法·leetcode·深度优先·广度优先