LeetCode每日一题,989. Add to Array-Form of Integer
先看题目描述
大意就是给定一个整数 K 和一个数组形式表示的整数 A,让我们以 List 的形式返回相加结果
算法和思路
这题比较简单,只要从末位开始,逐位的将数字相加即可,若有进位,则把进位的 1 加入到下一位的计算中,最后返回结果即可
算法和思路
1 | class Solution { |
注意:每次将数字添加到 list 的最后一位,最后翻转 list,比每次都把数字添加到 list 的第一位运行速度更快
下面是题解提供的另一种思路,将整个加数 K 加入数组表示的数的最低位。
上面的例子 123+912,我们把它表示成 [1,2,3+912]。然后,我们计算 3+912=915。5 留在当前这一位,将 910/10=91 以进位的形式加入下一位
然后,我们再重复这个过程,计算 [1,2+91,5]。我们得到 93,3 留在当前位,将 90/10=9 以进位的形式加入下一位。继而又得到 [1+9,3,5],重复这个过程之后,最终得到结果 [1,0,3,5]
1 | class Solution { |