题解 | #大数加法#
大数加法
http://www.nowcoder.com/practice/11ae12e8c6fe48f883cad618c2e81475
大数相加
padStart()
方法用另一个字符串填充当前字符串(如果需要的话,会重复多次),以便产生的字符串达到给定的长度。从当前字符串的左侧开始填充。
思路:
- 取两者中的最大值
- 不够位的进行补位
- 从后往前开始进行传统加法的运算
- 运算过程中确立一个进位数来存放
- 运算结果使用sum(字符串类型)来存储。好处:可以直接进行字符串的拼串
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
* 计算两个数之和
* @param s string字符串 表示第一个整数
* @param t string字符串 表示第二个整数
* @return string字符串
*/
function solve( s , t ) {
let maxLength = Math.max(s.length,t.length)
s = s.padStart(maxLength , 0);
t = t.padStart(maxLength , 0);
let sum = ""
let f = 0
for(let i = maxLength-1;i>=0;i--){
let a = parseInt(s[i])+parseInt(t[i]) + f
f = Math.floor(a/10)
sum =a%10 + sum
}
if(f==1){
sum = "1"+sum
}
return sum
}
module.exports = {
solve : solve
};