Description
For a non-negative integer X
, the array-form of X is an array of its digits in left to right order. For example, if X = 1231
, then the array form is [1,2,3,1]
.
Given the array-form A
of a non-negative integer X
, return the array-form of the integer X+K
.
Example 1:
1 | Input: A = [1,2,0,0], K = 34 |
Example 2:
1 | Input: A = [2,7,4], K = 181 |
Example 3:
1 | Input: A = [2,1,5], K = 806 |
Example 4:
1 | Input: A = [9,9,9,9,9,9,9,9,9,9], K = 1 |
Note:
1 <= A.length <= 10000
0 <= A[i] <= 9
0 <= K <= 10000
- If
A.length > 1
, thenA[0] != 0
分析
给一个数组形式的整数 X
和一个整数 K
,求 X+K
,其中 X
和 K
都是五位数以内的整数,所以无需考虑溢出。
拆解 K
成 Array-Form 类型得到一个整数,然后两个数组末位对齐,逐位相加即可。
拆解 K
的过程可以取余,余数与 X 的末位相加即可
1 | while (K != 0) { |
程序设计
根据上述分析,代码实现如下,
1 | class Solution { |