[LeetCode]Plus One
Given a number represented as an array of digits, plus one to the number.
思考:大数相加的思想。flag是进位标记。
class Solution {
public:
vector<int> plusOne(vector<int> &digits) {
int len=digits.size();
bool flag=false;
digits[len-1]+=1;
int i=len-1;
if(digits[i]>9) flag=true;
while(flag&&i>0)
{
digits[i]=digits[i]%10;
digits[i-1]+=1;
if(digits[i-1]>9) flag=true;
else flag=false;
i--;
}
if(digits[0]>9)
{
digits[0]=digits[0]%10;
vector<int> ans;
ans.push_back(1);
for(i=0;i<len;i++)
{
ans.push_back(digits[i]);
}
return ans;
}
return digits;
}
};

浙公网安备 33010602011771号