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.
#include<vector>
#include<string>
using namespace std;
vector<int> plusOne(vector<int>& digits);
int main()
{
vector<int> digits;
vector<int> digitsPlusOne;
int dig[]={1,9,9,9,9,9};
int Num=sizeof(dig)/sizeof(int);
for(int i=0;i<Num;i++)
{
digits.push_back(dig[i]);
}
//digitsPlusOne即为加1后的结果
digitsPlusOne=plusOne(digits);
return 0;
}
vector<int> plusOne(vector<int>& digits)
{
vector<int> res(digits.size(),0);
int sum=0;
int one=1;
for(int i=digits.size()-1;i>=0;i--)
{
sum = one+digits[i];
one=sum/10;//取整数部分
res[i]=sum%10;//取余数部分
}
if(one>0)
{
res.insert(res.begin(),one);
}
return res;
}