989. Add to Array-Form of Integer LeetCode Solution

In this guide, you will get 989. Add to Array-Form of Integer LeetCode Solution with the best time and space complexity. The solution to Add to Array-Form of Integer problem is provided in various programming languages like C++, Java, and Python. This will be helpful for you if you are preparing for placements, hackathons, interviews, or practice purposes. The solutions provided here are very easy to follow and include detailed explanations.

Table of Contents

  1. Problem Statement
  2. Complexity Analysis
  3. Add to Array-Form of Integer solution in C++
  4. Add to Array-Form of Integer solution in Java
  5. Add to Array-Form of Integer solution in Python
  6. Additional Resources
989. Add to Array-Form of Integer LeetCode Solution image

Problem Statement of Add to Array-Form of Integer

The array-form of an integer num is an array representing its digits in left to right order.

For example, for num = 1321, the array form is [1,3,2,1].

Given num, the array-form of an integer, and an integer k, return the array-form of the integer num + k.

Example 1:

Input: num = [1,2,0,0], k = 34
Output: [1,2,3,4]
Explanation: 1200 + 34 = 1234

Example 2:

Input: num = [2,7,4], k = 181
Output: [4,5,5]
Explanation: 274 + 181 = 455

Example 3:

Input: num = [2,1,5], k = 806
Output: [1,0,2,1]
Explanation: 215 + 806 = 1021

Constraints:

1 <= num.length <= 104
0 <= num[i] <= 9
num does not contain any leading zeros except for the zero itself.
1 <= k <= 104

Complexity Analysis

  • Time Complexity:
  • Space Complexity:

989. Add to Array-Form of Integer LeetCode Solution in C++

class Solution {
 public:
  vector<int> addToArrayForm(vector<int>& num, int k) {
    for (int i = num.size() - 1; i >= 0; --i) {
      num[i] += k;
      k = num[i] / 10;
      num[i] %= 10;
    }

    while (k > 0) {
      num.insert(num.begin(), k % 10);
      k /= 10;
    }

    return num;
  }
};
/* code provided by PROGIEZ */

989. Add to Array-Form of Integer LeetCode Solution in Java

class Solution {
  public List<Integer> addToArrayForm(int[] num, int k) {
    List<Integer> ans = new LinkedList<>();

    for (int i = num.length - 1; i >= 0; --i) {
      ans.add(0, (num[i] + k) % 10);
      k = (num[i] + k) / 10;
    }

    while (k > 0) {
      ans.add(0, k % 10);
      k /= 10;
    }

    return ans;
  }
}
// code provided by PROGIEZ

989. Add to Array-Form of Integer LeetCode Solution in Python

class Solution:
  def addToArrayForm(self, num: list[int], k: int) -> list[int]:
    for i in reversed(range(len(num))):
      k, num[i] = divmod(num[i] + k, 10)

    while k > 0:
      num = [k % 10] + num
      k //= 10

    return num
# code by PROGIEZ

Additional Resources

See also  316. Remove Duplicate Letters LeetCode Solution

Happy Coding! Keep following PROGIEZ for more updates and solutions.