首页 > 编程语言 > 详细

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

时间:2021-05-10 19:53:02      阅读:28      评论:0      收藏:0      [点我收藏+]

题目

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)\)

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

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!