Question:
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.
Solution:
相当简单的一道题。只需要模拟小学的加法过程就可以了。
class Solution {
public:
vector<int> plusOne(vector<int>& digits) {
int i = digits.size() - 1;
digits[i] += 1;
while (digits[i] == 10) {
digits[i] = 0;
if (i == 0) {
digits.insert(digits.begin(), 1);
} else {
digits[i-1] += 1;
}
i--;
}
return digits;
}
};