解题思路:
已在代码处,清晰说明。
详见代码。
class Solution {
public int[] plusOne(int[] digits) {
for(int i=digits.length-1;i>=0;i--){ //倒序遍历
if(digits[i]==9){ //如果digits[i]==9时,为了进位将digits[i]=0;
digits[i]=0;
}else{ //如果最后一位不为9则,给最后一位+1,跳出循环
digits[i]=digits[i]+1;
break;
}
}
if(digits[0]==0){ //如果数组的第一位为0,则说明数组的所有 //为都为9,创建新数组,长度为digits.length+1
int[] arr=new int[digits.length+1]; //将第一位置为1,其余为为0即可。
arr[0]=1;
for(int i=1;i<arr.length;i++){
arr[i] = digits[i] ;
}
return arr;
}
return digits;
}
}