-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathplusOne.js
More file actions
35 lines (33 loc) · 889 Bytes
/
plusOne.js
File metadata and controls
35 lines (33 loc) · 889 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
/*
* *** RESULTS ***
* Runtime: 44 ms, faster than 99.85% of JavaScript online submissions.
* Memory Usage: 33.8 MB, less than 71.37% of JavaScript online submissions
*/
/*
* Given a non-empty array of digits representing a non-negative integer,
* plus one to the integer.
*
* The digits are stored such that the most significant digit is at the head of
* the list, and each element in the array contain a single digit.
*
* You may assume the integer does not contain any leading zero,
* except the number 0 itself.
*/
/**
* @param {number[]} digits
* @return {number[]}
*/
var plusOne = function(digits) {
for (let i = digits.length - 1; i >= 0; i--) {
if (digits[i] === 9 && i === 0) {
digits[i] = 0;
digits.unshift(1);
} else if (digits[i] === 9) {
digits[i] = 0;
} else {
digits[i] += 1;
break;
}
}
return digits;
};