# Plus One Problem

--

**Overview**

In this particular LeetCode problem, Plus One, I would have to approach it with a crafty approach. The problem states

You are given a large integer represented as an integer array digits, where each digits[i] is the ith digit of the integer. The digits are ordered from most significant to least significant in left-to-right order. The large integer does not contain any leading 0's.Increment the large integer by one and return the resulting array of digits.

Here is an example for a better understanding.

**Input:** digits = [1,2,3]

**Output:** [1,2,4]

**Explanation:** The array represents the integer 123.

Incrementing by one gives 123 + 1 = 124.

Thus, the result should be [1,2,4].

*Let's Dive in.*

Since we are targeting the end of the array. My first approach was to reverse loop through the array.

var plusOne = function(digits) {

// reverse loop

for(let i = digits.length - 1; i >= 0; i--){}

};

Since we can't have double-digit numbers I targeted 9. If the current digit does not equal the value or type of 9 increments by one

`var plusOne = function(digits) {`

// reverse loop

for(let i = digits.length - 1; i >= 0; i--){

// add constraints

if(digits[i] !== 9){

digits[i] ++

}

}

};

Along with incrementing the number, I decided to return the digit.

`var plusOne = function(digits) {`

// reverse loop

for(let i = digits.length - 1; i >= 0; i--){

// add constraints

if(digits[i] !== 9){

digits[i] ++

return digits

}

}

};

I created a SafeNet for 0. If the current number = 0 and if the index is at the current position of 0. Take the array add 1 to it and return the digits.

`var plusOne = function(digits) {`

// reverse loop

for(let i = digits.length - 1; i >= 0; i--){

// add constraints

if(digits[i] !== 9){

digits[i] ++

return digits

}

digits[i] = 0

if(i === 0){

digits.unshift(1)

return digits

}

}

};

Thanks for reading.