Given a number represented as an array of digits, plus one to the number.
import java.util.*;
public class Solution {
public static int[] plusOne(int[] digits) {
ArrayList<Integer> list=new ArrayList<>();
for(int i=digits.length-1;i>-1;i--){
list.add(digits[i]);
}
boolean is_forward=false;
int i=0;
do{
is_forward=false;
int num=list.get(i)+1;
if(num==10){
num=0;
is_forward=true;
}
list.set(i,num);
i++;
}while(is_forward==true&&i<list.size());
if(is_forward){
list.add(1);
}
int[] result=new int[list.size()];
for(int k=0;k<result.length;k++){
result[k]=list.get(list.size()-1-k);
}
return result;
}
}