题目
算法思想 :这道题目是大整数加法的核心,所谓大整数是即使是long long类型也存储不了,所以我们用数组的方式表示一个非常大的整数,那么我们需要采用小学生加法策略来解决这个问题,首先设置一个进位变量c,然后 进位 c = (nums[i]+c)/10;
nums[i] = (nums[i]+c) % 10,最后需要判断如果有进位,则需要再数组前面加上进位,这里采用vector的insert操作。
vector<int> plusOne(vector<int>& digits) {
int c = 0;
digits[digits.size()-1] += 1;
for(int i = digits.size()-1;i >= 0;i--)
{
digits[i] += c;
c = digits[i]/10;
digits[i] = digits[i] % 10;
if(c == 0)
break;
}
if(c != 0)
digits.insert(digits.begin(),c);
return digits;
}