一、问题描述
略。
注意是生成、返回新数组,而不是修改原来的digits。
二、思路
当然可以先生成一个和digits一样的vector,叫New,然后在New上操作。
但是也可以先生成一个全为0的New数组,然后每个元素修改为合理的数值。
试一试第二个思路吧。
三、代码呈现
class Solution {
public:
vector<int> plusOne(vector<int>& digits) {
vector<int> New(digits.size(), 0);
int a=0, b=1;
for(int i = digits.size() - 1; i >= 0; i--)
{
a = digits[i] + b;/*a可能是两位数*/
b = a / 10;/*b的值只可能是0或1*/
New[i] = a % 10;/*a%10一定是1位数*/
}
if(b > 0)
New.insert(New.begin(), b);
return New;
}
};