这道题目也很简单,有两个要点,一个是区分当前位是否为 9,另一个是如果是第一位要进位,需要开辟一个新数组来承载。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| class Solution { public int[] plusOne(int[] digits) { for(int i=digits.length-1;i>=0;i--){ if(digits[i]<9){ digits[i]++; break; }else{ digits[i]=0; if(i==0){ int[] newDigits=new int[digits.length+1]; newDigits[0]=1; for(int j=0;j<digits.length;j++) newDigits[j+1]=digits[j]; return newDigits; } } } return digits; } }
|