判断最后一位是否为9,不为9,则加1直接返回即可。如果为9,则要进位,接下来,依次判断每个位是否都有进位。
public class Solution {
public int[] plusOne(int[] digits) {
int len=digits.length;
int []re=new int[len+1];
if(digits[len-1]<9)
{
digits[len-1]+=1;
return digits;
}
boolean jin=true;
int j;
for(j=len-1;j>=0;j--)
{
if(digits[j]==9&&jin==true)
{
digits[j]=0;
jin=true;
if(j==0)
{
re[0]=1;
for(int i=0;i<len;i++)
{
re[i+1]=digits[i];
}
return re;
}
}
else
{
if(jin)
digits[j]+=1;
jin=false;
}
}
return digits;
}
}