989.Add to Array-Form of Integer === ###### tags: `Easy`,`Math`,`Array` [989. Add to Array-Form of Integer](https://leetcode.com/problems/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` <= 10^4^ * 0 <= `num[i]` <= 9 * `num` does not contain any leading zeros except for the zero itself. * 1 <= `k` <= 10^4^ ### 解答 #### Python ```python= class Solution: def addToArrayForm(self, num: List[int], k: int) -> List[int]: return list(map(int, str(int("".join(list(map(str, num)))) + k))) ``` > [name=Ron Chen][time=Wed, Feb 15, 2023] #### Javascript ```javascript= function addToArrayForm(num, k) { const result = []; let carry = 0; let i = num.length - 1; while (i >= 0 || k > 0) { const sum = (num[i] || 0) + (k % 10) + carry; result.unshift(sum % 10); carry = ~~(sum / 10); k = ~~(k / 10); i--; } if (carry) { result.unshift(carry); } return result; } ``` > 用原始方法做一遍 > [name=Marsgoat][time=Wed, Feb 15, 2023] ### Reference [回到題目列表](https://hackmd.io/@Marsgoat/leetcode_every_day)