力扣 989. 数组形式的整数加法

作者: linzeliang

题目

989. 数组形式的整数加法

思路

  • 从最低位开始加,满10用carry进1,最后还要判断最终有没有进1位

    代码

class Solution {
    public List<Integer> addToArrayForm(int[] num, int k) {
        ArrayList<Integer> res = new ArrayList<Integer>();
        int n = num.length - 1;
        int carry = 0;

        while (n >= 0 || k != 0) {
            int a = n < 0 ? 0 : num[n];
            int b = k % 10;

            int temp = (a + b + carry) % 10;
            carry = (a+ b + carry) / 10;
            res.add(temp);
            n--;
            k /= 10;
        }
        if (carry == 1) {
            res.add(1);
        }
        Collections.reverse(res);
        return res;
    }
}

复杂度分析

  • 时间复杂度:\(O(N)\)
  • 空间复杂度:\(O(N)\)

    原文创作:linzeliang

    原文链接:https://www.cnblogs.com/linzeliang1222/p/14751487.html

更多推荐

更多
这里什么都没有

近期文章

更多
文章目录

    推荐作者

    更多