给定一个非负整数组成的非空数组,在该数的基础上加一,返回一个新的数组。
最高位数字存放在数组的首位, 数组中每个元素只存储一个数字。
你可以假设除了整数 0 之外,这个整数不会以零开头。
示例 1:
输入: [1,2,3] 输出: [1,2,4]
解释: 输入数组表示数字 123。
示例 2:
输入: [4,3,2,1] 输出: [4,3,2,2]
解释: 输入数组表示数字 4321。
我的思路:与148题的思路类似,基本思想就是加法的运算过程,在最后一位加一,定义一个flag代表进位,从后往前遍历,先将当前位与进位相加,使用除法检测是否存在进位,再利用取余求出当前位的值。遍历完毕后,加法基本完成,注意此时需要检测最高位是否存在进位,存在则需要创建一个新的数组并将第一位设为1,再将原数组的元素以此放到新数组中。
插入数组的方法之一:数组名.insert(位置,数值) 例如:a.insert(a.begin(),1)