// 大数相加
/**
* 大数相加
* 848941694919 + 262125612626
*
* 思路:
* 1.num1,num2转为数组,倒序排列
* 2.取大数数组长度作为循环长度
* 3.一次取出数组的元素,进行相加,大于10说明有进位 逢十进1 flag = 1, 否则flag=0
* 4.进位了 取预 sum = sum%/10,push
* 5.判断最后一位是否有进位,有就push
* 6.数组元素合并,取反
*/
function bigAdd(num1, num2) {
let arr1 = num1.split('').reverse()
let arr2 = num2.split('').reverse()
let length = Math.max(arr1.length, arr2.length)
//进位标识
let flag = 0
let result = []
for (let i = 0
let cnum1 = Number(arr1[i]) || 0
let cnum2 = Number(arr2[i]) || 0
let sum = cnum1 + cnum2 + flag
if (sum > 10) {
flag = 1
//取个位数
sum = sum % 10
} else {
flag = 0
}
result.push(sum)
//最后一位进位标识
if (result.length - 1 === i && flag) {
result.push(sum)
}
}
return result.reverse().join('')
}
let arr1 = '9089'
let arr2 = '90841'
console.log(bigAdd(arr1, arr2))