How to increment an integer represented as an integer array of digits by one in JavaScript

1 Answer

0 votes
function incrementByOne(digits) {
    let carry = 1;
    for (let i = digits.length - 1; i >= 0; i--) {
        digits[i] += carry;
        if (digits[i] === 10) {
            digits[i] = 0;
            carry = 1;
        } else {
            carry = 0;
            break;
        }
    }

    if (carry === 1) {
        digits.unshift(1); // Add 1 at the beginning if carry remains
    }
    
    return digits;
}

let digits = [9, 9, 9];
const result = incrementByOne(digits);

console.log("Result:", result.join(" "));



/*
run:

Result: 1 0 0 0

*/

 



answered Jul 2 by avibootz
...