Given a non-negative number represented as an array of digits, plus one to the number.
The digits are stored such that the most significant digit is at the head of the list.
// https://oj.leetcode.com/problems/plus-one/
// Author : Chao Zeng
// Date : 2015-1-29
class Solution {
public:
vector<int> plusOne(vector<int> &digits) {
vector <int> numbers;
reverse(digits.begin(),digits.end());
int length = digits.size();
digits[0]++;
int temp;
for (int i = 0; i < length; i++){
//注意语句的顺序
temp = digits[i] / 10;
digits[i] = digits[i] % 10;
numbers.push_back(digits[i]);
//进位的处理
if (i == length - 1 && temp > 0){
numbers.push_back(temp);
}
else{
digits[i+1] = digits[i+1] + temp;
}
}
reverse(numbers.begin(),numbers.end());
return numbers;
}
};