Questions:
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.
给一正整数的阵列, 请加一后回传其阵列
下面使用的是陈皓大神的源代码
不懂vector的详见于此
vector<int> plusOne(vector<int> &digits) {
int carry=1;
vector <int> v;
while(digits.size()>0){
int x = digits.back();
digits.pop_back();
x = x + carry;
v.insert(v.begin(), x%10);
carry = x/10;
}
if (carry>0){
v.insert(v.begin(), carry);
}
return v;
}
下面也是网路上的代码,供参考
vector<int> plusOne(vector<int> &digits) {
int dig = digits.size() - 1;
while(dig >= 0){
if(digits[dig] < 9){
digits[dig]++;
break;
}
digits[dig--] = 0;
}
if(dig == -1) digits.insert(digits.begin(), 1);
return digits;
}