Given a non-negative number represented as an array of digits,
add 1 to the number ( increment the number represented by the digits ).
The digits are stored such that the most significant digit is at the head of the list.
Example:
If the vector has [1, 2, 3]
the returned vector should be [1, 2, 4]
as 123 + 1 = 124.
public class Solution {
public ArrayList plusOne(ArrayList a) {
int carry = 1;
int sum = 0;
int no = 0;
for(int i=a.size()-1; i>=0; i--){
sum = a.get(i) + carry;
no = sum%10;
carry = sum/10;
a.set(i,no);
if(carry == 0){
break;
}
}
if(carry != 0){
Collections.reverse(a);
a.add(carry);
Collections.reverse(a);
}else{
while (a.get(0) ==0 ){
a.remove(0);
}
}
return a;
}
}