题解 | #大数加法#
大数加法
http://www.nowcoder.com/practice/11ae12e8c6fe48f883cad618c2e81475
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
* 计算两个数之和
* @param s string字符串 表示第一个整数
* @param t string字符串 表示第二个整数
* @return string字符串
*/
function solve( s , t ) {
// write code here
let arr1 = s.split("");
let arr2 = t.split("");
let ret = [];
let enougth10 = 0;
let jishu = arr1.length>arr2.length?1:0;
let a = null;
if(jishu){
for(let i = arr1.length-1;i>=0;i--){
a = arr2[arr2.length-1]?arr2.pop():0
let temp = enougth10+parseInt(arr1[i])+parseInt(a);
if(temp > 9){
enougth10 = 1;
temp = parseInt(temp.toString().split('').pop());
ret.push(temp)
}else{
enougth10 = 0;
ret.push(temp)
}
}
return ret.reverse().join('');
}else {
for(let i = arr2.length-1;i>=0;i--){
a = arr1[arr1.length-1]?arr1.pop():0
let temp = enougth10+parseInt(arr2[i])+parseInt(a);
if(temp > 9){
enougth10 = 1;
temp = parseInt(temp.toString().split('').pop());
ret.push(temp)
}else{
enougth10 = 0;
ret.push(temp)
}
}
if(enougth10){
ret.push('1')
}
return ret.reverse().join('');
}
}
module.exports = {
solve : solve
};