// Expand the given array int[] arr = newint[digits.length+1]; for (intj= digits.length-1; j >= 0; j--) { arr[j+1] = digits[j]; }
// Algorithm: Add one when it hits ten for (intk= arr.length-1; k >= 0 ; k--) { arr[k]++; if (arr[k]==10) { arr[k] = 0; continue; } break; }
// If the new array starts with `0` (meaning that the expansion is useless), perform a reduction operation if (arr[0]==0) { int[] arr2 = newint[arr.length-1];
for (intn= arr2.length-1; n >= 0; n--) { arr2[n] = arr[n+1]; } return arr2; }