题解 | #大数加法#

大数加法

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
};
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务