首先考虑到输入的两个字符串的长度可能不一样, 所以先通过补0的操作让两个字符串长度一样,计算时需要考虑到进位值,两字符串里对应数字相加所得结果可以分为两部分,一部分为进位值,一部分为除进位后的结果值。
js实现代码如下:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
* 计算两个数之和
* @param s string字符串 表示第一个整数
* @param t string字符串 表示第二个整数
* @return string字符串
*/
function solve( s , t ) {
// write code here
let len = Math.max(s.length, t.length);
s = s.padStart(len, '0') // 补0
t = t.padStart(len, '0') // 补0
let n = 0; // 进位值
let res = ''
for(let i = len-1; i >= 0; i--) {
let sum = parseInt(s.charAt(i))+ parseInt(t.charAt(i)) + n;
n = Math.floor(sum / 10);
res = sum % 10 + res;
}
if(n > 0) {
res = n + res;
}
return res;
}
module.exports = {
solve : solve
};
类似题目可做力扣 2.两数相加