取flag默认初值为一,之后一直通过/10的方式来对前一位数进行进位
/**
* Note: The returned array must be malloced, assume caller calls free().
*/
int* plusOne(int* digits, int digitsSize, int* returnSize){
int flag=1;
for(int i=digitsSize-1;i>=0;i--){
digits[i]=digits[i]+flag;
flag=digits[i]/10;
digits[i]=digits[i]%10;
}
if(flag){
int*ret=malloc(sizeof(int)*(digitsSize+1));
*returnSize=digitsSize+1;
ret[0]=1;
for(int i=1;i<=digitsSize;i++)
ret[i]=digits[i-1];
return ret;
}
*returnSize=digitsSize;
return digits;
}