js
function addBigIntegers(num1, num2) {
// 将输入的字符串形式的大数转换为字符数组(从后往前遍历)
let arr1 = [...num1].reverse();
let arr2 = [...num2].reverse();
// 初始化结果数组和进位标志
let result = [];
let carry = 0;
// 遍历两个数组,执行加法操作,并处理进位
for (let i = 0; i < Math.max(arr1.length, arr2.length); i++) {
let n1 = parseInt(arr1[i] || "0", 10);
let n2 = parseInt(arr2[i] || "0", 10);
let sum = n1 + n2 + carry;
carry = Math.floor(sum / 10); // 计算新的进位值
result.push(sum % 10); // 将余数添加到结果数组
}
// 如果最后还有进位,则需要在结果数组前面加上进位值
if (carry > 0) {
result.unshift(carry);
}
// 将结果数组转为字符串,并反转以得到正确顺序的大数
return result.reverse().join("");
}
// 示例:
console.log(addBigIntegers("1234567890", "9876543210")); // 输出:'11111111100'