对于非负整数 X 而言,X 的数组形式是每位数字按从左到右的顺序形成的数组。例如,如果 X = 1231,那么其数组形式为 [1,2,3,1]。
给定非负整数 X 的数组形式 A,返回整数 X+K 的数组形式。
示例 1:
输入:A = [1,2,0,0], K = 34
输出:[1,2,3,4]
解释:1200 + 34 = 1234
代码
class Solution {public List<Integer> addToArrayForm(int[] A, int K) {List<Integer> list=new ArrayList<>();while (K>=10)//拆出k的每一位{list.add(K%10);K/=10;}int car=0;int idx=0;list.add(K);List<Integer> res=new ArrayList<>();for(int i=A.length-1;i>=0||idx<list.size();i--,idx++){//将A和K逐个位相加int temp=(i>=0?A[i]:0)+(idx<list.size()?list.get(idx):0)+car;car=(temp/10);res.add(temp%10);}if(car==1)res.add(1);Collections.reverse(res);return res;}
}