一、题目地址
二、具体代码
1、方法(一)
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
* 计算两个数之和
* @param s string字符串 表示第一个整数
* @param t string字符串 表示第二个整数
* @return string字符串
*/
function solve( s , t ) {
//1、将s和t的位数弄相同
let maxLength = Math.max(s.length, t.length);
s = s.padStart(maxLength, '0');
t = t.padStart(maxLength, '0');
//2、定义res,res存放最后得到的结果
let res = '';
//3、定义figure,figure=两个数字对应位数数值相加+进位
let figure = 0;
//4、定义currentNum,currentNum用来存放两个数字 对应位数 数值相加的最后结果
let currentNum = 0;
//5、定义carry,用来存放最后的进位
let carry = 0;
//6、对应位进行相加
for(let i=s.length-1; i>=0; i--) {
figure = parseInt(s[i]) + parseInt(t[i]) + carry;
currentNum = figure % 10;
carry = Math.floor(figure / 10);
res = currentNum + res;
}
//7、判断进位是否不为0, 如果不为0, 需要将进位补到res前面
if(carry > 0) {
res = carry + res;
}
//8、返回res
return res;
}
module.exports = {
solve : solve
};
2、方法(二)
——面试时不推荐这样写
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
* 计算两个数之和
* @param s string字符串 表示第一个整数
* @param t string字符串 表示第二个整数
* @return string字符串
*/
function solve( s , t ) {
return (BigInt(s) + BigInt(t)).toString();
}
module.exports = {
solve : solve
};