题目描述
给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。
最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。
你可以假设除了整数 0 之外,这个整数不会以零开头。
示例 1:
1 | 输入: [1,2,3] |
示例 2:
1 | 输入: [4,3,2,1] |
题解
思路
操作数组元素,模拟加法
- 个位小于9时,直接加一,返回即可
- 个位等于9时,就该进位了,所以将其置为0
- 循环1、2步
- 当执行完毕后,程序仍未返回值,则是最特殊的情况,即各位都是9:
- 此时,需要重新申请空间,最高位为1,其余为0
C:
1 | int* plusOne(int* digits, int digitsSize, int* returnSize) |
思路
没其他tag了,有没有啥骚方法呢?
把数组变成整数,加个一,再变成数组,行不行呢?
Python:
1 | class Solution: |