给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。假设除了整数 0 之外,这个整数不会以零开头。
示例1:
输入: [1,2,3]
输出: [1,2,4]
解释: 输入数组表示数字 123。
示例2:
输入: [9,9,9]
输出: [1,0,0,0]
解释: 输入数组表示数字 1000。
题解:
class Solution {
public:
vector<int> plusOne(vector<int>& digits)
{
vector<int>::reverse_iterator rit;
for (rit = digits.rbegin(); rit != digits.rend(); rit++)
{
*rit += 1;
if (*rit != 10)
return digits;
else
*rit = 0;
}
digits.insert(digits.begin(), 1); // for循环结束,代表输入digits所有值都为9,故需要在最开始插入1
return digits;
}
};