# 大数加法
在不使用Bigint的情况下实现大数加法,主要作用是保证数字位不溢出
# 算法思路
- 按字符串一位一位的相加,相加时同时也要考虑进位
# 代码实现
function add(a, b) {
if (!a) {
return b
}
if (!b) {
return a
}
let i = a.length - 1
let j = b.length - 1
let r = ''
let p = 0
while (i >= 0 || j >= 0) {
let va = a[i] || 0
let vb = b[j] || 0
let v = parseInt(va) + parseInt(vb) + p
r = String(v % 10) + r
p = Math.floor(v / 10)
i--
j--
}
if (p > 0) {
r = p + r
}
return r
}