// 编程题:大数相加
6453234253452432 + 7326362323251323;
// 整数字符串数组 数组
// 数组每一位元素进行相加+进位>10取个位,进位=1
// 数组每一位元素进行相加+进位<10取个位,进位=0
// 最后一位,仍然有进位,进位添加到结果里
function bigNumberSum(str1, str2) {
const arr1 = str1.split("").reverse();
const arr2 = str2.split("").reverse();
const length = Math.max(arr1.length, arr2.length);
const result = [];
let flag = 0;
for (let i = 0; i < length; i++) {
const num1 = Number(arr1[i]) || 0;
const num2 = Number(arr2[i]) || 0;
let sum = num1 + num2 + flag;
if (sum > +10) {
sum = sum % 10;
flag = 1;
} else {
flag = 0;
}
result.push(sum);
if (i === length - 1 && flag) {
result.push(flag);
}
}
return result.reverse().join("");
}
console.log(bigNumberSum(6453234253452432,7326362323251323))
console