function incrementByOne(digits: number[]): number[] {
let carry: number = 1;
for (let i: number = 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 there's still a carry
}
return digits;
}
const digits: number[] = [9, 9, 9];
const result: number[] = incrementByOne(digits);
console.log("Result:", result.join(" "));
/*
run:
"Result:", "1 0 0 0"
*/