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
}

运行结果

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

相关推荐
linux修理工1 分钟前
免费额度怎么算?QClaw vs 飞书OpenClaw 零成本养虾完整对比
经验分享
zl_vslam1 分钟前
SLAM中的非线性优-3D图优化之相对位姿Between Factor-四元数(十二)
人工智能·算法·计算机视觉
coding者在努力9 分钟前
算法竞赛中根据数据规模猜测算法
c++·算法·stl·时间复杂度
jing-ya12 分钟前
day 59 图论part10
java·开发语言·数据结构·算法·图论
C羊驼20 分钟前
C语言学习笔记(十一):数据在内存中的存储
c语言·经验分享·笔记·学习
阿Y加油吧23 分钟前
力扣打卡——搜索二维矩阵、相交链表
线性代数·leetcode·矩阵
普贤莲花27 分钟前
【2026年第11周---写于20260322】
程序人生·算法·leetcode
小白自救计划30 分钟前
力扣知识点杂集
算法·leetcode·哈希算法
阿贵---33 分钟前
分布式系统C++实现
开发语言·c++·算法
恒拓高科WorkPlus33 分钟前
私有化视频会议如何重塑企业高效协作体验
经验分享