09 Sept 2026Go / Python / TypeScriptEasy

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
  • Python add-to-array-form-of-integer/solution.py
  • TypeScript add-to-array-form-of-integer/solution.ts

Solution files

Goadd-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
}
Pythonadd-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) - class="syntax-number">1
        while index >= class="syntax-number">0 or k:
            if index >= class="syntax-number">0: k += num[index]
            result.append(k % class="syntax-number">10); k class=class="syntax-string">"syntax-comment">//= class="syntax-number">10; index -= class="syntax-number">1
        return result[::-class="syntax-number">1]
TypeScriptadd-to-array-form-of-integer/solution.ts
function addToArrayForm(num: number[], k: number): number[] {
  const reversed: number[] = [];
  for (let index = num.length - class="syntax-number">1; index >= class="syntax-number">0 || k > class="syntax-number">0; index -= class="syntax-number">1) { if (index >= class="syntax-number">0) k += num[index]; reversed.push(k % class="syntax-number">10); k = Math.floor(k / class="syntax-number">10); }
  return reversed.reverse();
}