题解 | #大数加法#

大数加法

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

相关推荐

offer多多的六边形战士很无语:看了你的博客,感觉挺不错的,可以把你的访问量和粉丝数在简历里提一下,闪光点(仅个人意见)
点赞 评论 收藏
分享
头像
11-21 11:39
四川大学 Java
是红鸢啊:忘了还没结束,还有字节的5k 违约金
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务