思路:
逐数字相加,采用进位标志标记是否需要进位
代码:
class Solution {
public:
/**
* @param digits a number represented as an array of digits
* @return the result
*/
vector<int> plusOne(vector<int>& digits) {
// Write your code here
int len = digits.size(), tmp = 0, plus = 1;
for(int i = len - 1;i >= 0; --i){
tmp = digits[i] + plus;
digits[i] = tmp % 10;
plus = tmp / 10;
}// for
if(0 == plus)
return digits;
digits.push_back(0);
for(int i = len; i > 0; --i)
digits[i] = digits[i - 1];
digits[0] = 1;
return digits;
}
};