Isaac Emmanuel
09 Sept 2026•EasyGo / Python / TypeScript

Add to Array-Form of Integer

Add an integer to a number represented as an array of decimal digits.

Process digits from right to left while folding the carry into k, append result digits in reverse order, then reverse once.

Complexity

O(max(n, log k)) time and output space.

Solution files

Go•add-to-array-form-of-integer/solution.go
package main

func addToArrayForm(num []int, k int) []int {
	reversed := []int{}
	for index := len(num) - 1; index >= 0 || k > 0; index-- {
		if index >= 0 {
			k += num[index]
		}
		reversed = append(reversed, k%10)
		k /= 10
	}
	for left, right := 0, len(reversed)-1; left < right; left, right = left+1, right-1 {
		reversed[left], reversed[right] = reversed[right], reversed[left]
	}
	return reversed
}
Python•add-to-array-form-of-integer/solution.py
class Solution:
    def addToArrayForm(self, num: list[int], k: int) -> list[int]:
        result: list[int] = []
        index = len(num) - 1
        while index >= 0 or k:
            if index >= 0: k += num[index]
            result.append(k % 10); k //= 10; index -= 1
        return result[::-1]
TypeScript•add-to-array-form-of-integer/solution.ts
function addToArrayForm(num: number[], k: number): number[] {
  const reversed: number[] = [];
  for (let index = num.length - 1; index >= 0 || k > 0; index -= 1) { if (index >= 0) k += num[index]; reversed.push(k % 10); k = Math.floor(k / 10); }
  return reversed.reverse();
}