题目:
Given a non-negative integer represented as a non-empty array of digits, plus one to the integer.
You may assume the integer do not contain any leading zero, except the number 0 itself.
The digits are stored such that the most significant digit is at the head of the list.
思路:
遍历数组的每位,同时处理进位,如果最后还有进位,则在数组最前面在插入1即可。
程序:
class Solution {
public:
vector<int> plusOne(vector<int>& digits) {
int c = 1;
for(int i = digits.size() - 1; i >= 0; -- i)
{
int a = digits[i] + c;
digits[i] = a % 10;
c = a / 10;
}
if(c == 1)
digits.insert(digits.begin(), 1);
return digits;
}
};