leetcode的题目66. 加一

2018-07-10  本文已影响0人  二木二三水

给定一个非负整数组成的非空数组,在该数的基础上加一,返回一个新的数组。

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

你可以假设除了整数 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)

上一篇 下一篇

猜你喜欢

热点阅读