从个位开始,如果该位小于9,则加一后直接返回。 如果等于9,则该位置0,进入下一循环。如果所有位都检查完还没返回的话说明这个数字是全9,于是新建一个比原数组长1位的数组,首位置1,别的置0

 

java

class Solution {
    public int[] plusOne(int[] digits) {
        int len = digits.length;
        for(int i = len-1;i>=0;i--)
        {
            if(digits[i]<9)
            {
                digits[i]++;
                return digits;
            }
            digits[i]=0;
        }
        int[] num = new int[len+1];
        num[0] = 1;
        return num;
    }
}