以字符串的形式读入两个数字,编写一个函数计算它们的和,以字符串形式返回。(字符串长度不大于100000,保证字符串仅由'0'~'9'这10种字符组成)
function solve( s , t ) {
// 字符串
// 求得最长长度
let maxLength = (s.length, t.length);
// 在不足最长长度的前面补0
s = s.padStart(maxLength, 0);
t = t.padStart(maxLength, 0);
let a = 0;
// 记录进位
let b = 0;
let sum = "";
for(let i = maxLength - 1;i >= 0; i--) {
// 计算个位的和
a = parseInt(s[i]) + parseInt(t[i]) + b;
// 计算进位,Math.floor()向下取整
b = Math.floor(a / 10);
// 求和
sum = a%10 + sum
}
// 如果最前面还有一个进位为1, 则在sum 前加一个1
if(b == 1) {
sum = "1" + sum
}
return sum;
}