Problem Statement
Given a non-negative integer represented as a non-empty array of digits, plus one to the integer.
Given a non-negative integer represented as a non-empty array of digits, plus one to the integer.
You may assume the integer do not contain any leading zero, except the number 0 itself.
The digits are stored such that the most significant digit is at the head of the list.
Link to GitHub :Code
Link to GitHub :Code
Example |
input = {1, 4, 9, 9}
output ={1, 5, 0, 0 } | |
Solution
- We need to traverse from the end .
- If digit is less than 9 than increment by one and return the array
- If the digit is 9 then replace it with 0
- The last part of the code is needed if all the digits in the array are 9 ex 9999
public static int [] get(int [] digits) { //Loop through the array for(int i=digits.length-1;i>=0;i--) { //check if the digits are less than 9 if(digits[i]<9){ digits[i]++; return digits; } //If the no is greater than 1 then assign 0 digits[i]=0; } //This last part of code is only for the case that the whole input array is 9s. //For example : 99999-----> 100000 int [] newNumber = new int [digits.length+1]; newNumber[0]=1; return newNumber; } }
No comments:
Post a Comment