题目标签

Array


题意及思路

题意:将一个数组形式的“整数”与给出的k求和,最后返回的是数组形式,题例见上图。

思路:维护一个ArrayList<Integer>,从数组的最后一位开始计算(相当于数组的数字的个位)。每一次将其A[i]与cur相加(cur初始值为k),取模存入ans中,😄每次最后记得将cur进行cur /= 10。cur的这个操作,是为了进行匹配相加,😏换言之,假如个位数字上的数已然相加了,那么个位上的数对高位上的数就没有了进位影响。

代码

class Solution {
    public List<Integer> addToArrayForm(int[] A, int K) {
        int n = A.length;
        int cur = K;
        int i = n;
        List<Integer> ans = new ArrayList();
        while(--i>=0 || cur>0){
            if(i>=0){
                cur += A[i];
            }
            ans.add(cur%10);
            cur /= 10;
        }
        Collections.reverse(ans);
        
        return ans;
    }
}