【力扣】66. 加一

简介: 【力扣】66. 加一

题目描述

给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。

最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。

你可以假设除了整数 0 之外,这个整数不会以零开头。


示例 1:


输入:digits = [1,2,3]

输出:[1,2,4]

解释:输入数组表示数字 123。


示例 2:


输入:digits = [4,3,2,1]

输出:[4,3,2,2]

解释:输入数组表示数字 4321。


示例 3:


输入:digits = [0]

输出:[1]


提示:


1 <= digits.length <= 100

0 <= digits[i] <= 9

解题思路

  • C
int* plusOne(int* digits, int digitsSize, int* returnSize) {
    int num = 1;    //定义“进位变量”

    for (int i = digitsSize - 1; i >= 0; i--) 
    {
        digits[i] = digits[i] + num;    // 从最后一位开始加“进位变量”
        num = digits[i] / 10;           // 如果进位了,更新“进位变量”
        digits[i] = digits[i] % 10;     // 更新加“进位变量”后的数字
    }

    *returnSize = digitsSize + num;     // 如果还有进位,num 为 1,没有则为 0

    int* sum = (int*)malloc(sizeof(int) * *returnSize); // 申请内存

    memset(sum, 0, sizeof(int) * *returnSize);  // 内存清零

    for (int j = digitsSize - 1; j >= 0; j--) 
    {
        sum[j + num] = digits[j];               // 拷贝数据
    }
    sum[0] += num;  // 添加进位

    return sum;
}
目录
打赏
0
0
0
0
10
分享
相关文章
基于Java对STOMP服务端进行测试
在10000用户的并发下,客户端连接用时 5.5秒,500万条数据发送用时 55秒左右
684 0
一文详解 RSA 非对称加密算法
非对称加密算法指的是 加、解密使用不同的密钥,一把为公开的公钥,另一把为私钥。 公钥加密的内容只能由私钥进行解密,反之由私钥加密的内容只能由公钥进行解密。也就是说,这一对公钥、私钥都可以用来加密和解密,并且一方加密的内容只能由对方进行解密。
9507 1
基于C++开发,支持三维重建,多平面重建技术的医学影像PACS系统源码
支持非DICOM标准的影像设备的图像采集和处理。 3)支持各种扫描仪、数码相机等影像输入设备。 4)支持各大主流厂商的CT、MR、DSA、ECT、US、数字胃肠、内镜等影像设备; 5)支持所有的DICOM相机,支持各大厂家的激光相机。 6)系统完全支持HL7接口和ICD—10编码,可与HIS系统无缝连接。 7)提供全院级、科室级工作站以及远程会诊工作站,三维重建,多平面重建。
251 0
基于C++开发,支持三维重建,多平面重建技术的医学影像PACS系统源码
大规模数据处理的最佳实践:使用 Dask 进行高效并行计算
【8月更文第29天】在大数据时代,高效地处理大规模数据集是至关重要的。Python 社区提供了一些强大的工具来帮助开发者进行并行和分布式计算,其中之一就是 Dask。本文将详细介绍如何使用 Dask 来优化大规模数据集的处理效率,并提供一些实用的代码示例。
1655 3
(C语言版)力扣(LeetCode)题库1-5题解析
给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。
邮件协议揭秘:SMTP与IMAP的双重功能解析
SMTP和IMAP是电子邮件系统的核心协议,SMTP负责邮件发送,通过SSL/TLS保证安全,而IMAP则处理邮件接收和管理,支持服务器存储及状态同步。这两种协议相辅相成,为现代邮件系统提供了坚实基础。它们广泛应用于各种邮件客户端,确保了兼容性、功能丰富性和安全性,满足用户对电子邮件的多样化需求。
713 3
Spring AOP 详细深入讲解+代码示例
Spring AOP(Aspect-Oriented Programming)是Spring框架提供的一种面向切面编程的技术。它通过将横切关注点(例如日志记录、事务管理、安全性检查等)从主业务逻辑代码中分离出来,以模块化的方式实现对这些关注点的管理和重用。 在Spring AOP中,切面(Aspect)是一个模块化的关注点,它可以跨越多个对象,例如日志记录、事务管理等。切面通过定义切点(Pointcut)和增强(Advice)来介入目标对象的方法执行过程。 切点是一个表达式,用于匹配目标对象的一组方法,在这些方法执行时切面会被触发。增强则定义了切面在目标对象方法执行前、执行后或抛出异常时所
14880 3
【工具使用】几款优秀的SSH连接客户端软件工具推荐FinalShell、Xshell、MobaXterm、OpenSSH、PUTTY、Terminus、mRemoteNG、Terminals等
【工具使用】几款优秀的SSH连接客户端软件工具推荐FinalShell、Xshell、MobaXterm、OpenSSH、PUTTY、Terminus、mRemoteNG、Terminals等
105230 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问