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)