fun incrementByOne(digits: MutableList<Int>): List<Int> {
var carry = 1
for (i in digits.size - 1 downTo 0) {
digits[i] += carry
if (digits[i] == 10) {
digits[i] = 0
carry = 1
} else {
carry = 0
break
}
}
if (carry == 1) {
digits.add(0, 1) // Add 1 to the front
}
return digits
}
fun main() {
val digits = mutableListOf(9, 9, 9)
val incremented = incrementByOne(digits)
print("Result: ")
println(incremented.joinToString(" "))
}
/*
run:
Result: 1 0 0 0
*/