思路 用List从低位到高位依次存储,然后Collections.reverse(res);逆置列表
class Solution {
public List<Integer> addToArrayForm(int[] A, int K) {
List<Integer> res = new ArrayList<Integer>();
int n = A.length;
for (int i = n - 1; i >= 0; --i) {
int sum = A[i] + K % 10;
K /= 10;
if (sum >= 10) {
K++;
sum -= 10;
}
res.add(sum);
}
for (; K > 0; K /= 10) {
res.add(K % 10);
}
Collections.reverse(res);
return res;
}
}
class Solution {
public List<Integer> addToArrayForm(int[] A, int K) {
List<Integer> res = new ArrayList<Integer>();
int n = A.length;
for (int i = n - 1; i >= 0 || K > 0; --i, K /= 10) {
if (i >= 0) {
K += A[i];
}
res.add(K % 10);
}
Collections.reverse(res);
return res;
}
}