Title:
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.Subscribe to see which companies asked this question
思路:题目用一个数组来表示一个数,然后将这个数加一,继续用数组表示。用数组表示一个数,然后来模拟十进制计算,其中数组最后一个数进行加一,如果没有进位,则直接返回数组值就可以。如果进位,则置零加一。
代码如下:
class Solution
{
public:
vector<int> plusOne(vector<int>& digits)
{
for (int i=digits.size()-1;i>=0;i++)
{
if(digits[i]!=9)
{
digits[i]++;
return digits;
}
else
{
digits[i]=0;
}
}
if(i<0)
{
digits.insert(begin(),1);
}
return digits;
}
};