How to increment an integer represented as an integer list of digits by one in Kotlin

1 Answer

0 votes
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

*/

 



answered Jul 2, 2025 by avibootz
...