给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和并同样以字符串形式返回。
你不能使用任何內建的用于处理大整数的库(比如 BigInteger), 也不能直接将输入的字符串转换为整数形式。
function addStrings(num1: string, num2: string): string {
let i = num1.length -1
let j = num2.length -1
let carry = 0
let res = ''
//只要 i/j 没加完,或者进位还在,就继续
while(i>=0 || j>=0 || carry >0){
const n1 = i>=0 ? +num1[i] : 0
const n2 = j>=0 ? +num2[j] : 0
const sum = n1+n2+carry
res = (sum % 10) + res
carry = Math.floor(sum / 10)
i--
j--
}
return res
};