Given a non-negative integer represented as a non-empty array of digits, plus one to the integer.
You may assume the integer do not contain any leading zero, except the number 0 itself.
The digits are stored such that the most significant digit is at the head of the list.
思路:非常简答的大整数加法,只需要加一。处理一下最高位的进位即可。
class Solution {
public:
vector<int> plusOne(vector<int>& digits) {
reverse(digits.begin(),digits.end()); //翻转数组
int len = digits.size();
digits[0]++;
for(int i=0;i<len;i++)
{
if(digits[i] >= 10)
{
if(i == len-1)
digits.push_back(digits[i]/10);
else
digits[i+1] += (digits[i]/10);
digits[i] %= 10;
}
}
reverse(digits.begin(),digits.end());
return digits;
}
};