問題描述:
一個整數按位存儲于一個vector中,排列順序為:最高位在array[0] ,最低位在[n-1]。
解題思路:
從數組的最後一位開始加1,諸如999的數字加1後需要考慮進位。
class Solution {
public:
vector<int> plusOne(vector<int>& digits)
{
vector<int> result;
if(digits.size()==)
return result;
int carry=;
for(int j=digits.size()-; j>=; j--)
{
int v=carry;
result.push_back((v+digits[j])%);
carry = (v+digits[j])/;
if(j== && carry == )
result.push_back();
}
for(size_t i=; i<result.size()/; i++)
{
int t = result[i];
result[i] = result[result.size()-i-];
result[result.size()-i-] = t;
}
return result;
}
};