题解 | #大数加法#

大数加法

http://www.nowcoder.com/practice/11ae12e8c6fe48f883cad618c2e81475

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 * 计算两个数之和
 * @param s string字符串 表示第一个整数
 * @param t string字符串 表示第二个整数
 * @return string字符串
 */
function solve( s ,  t ) {
    if (s === '') return t
    if (t === '') return s
    
    let i = s.length - 1, j = t.length - 1, remainder = 0
    let result = ''
    while (i >= 0 || j >= 0 || remainder === 1) {
        let inum = parseInt(s[i]) ? parseInt(s[i]) : 0
        let jnum = parseInt(t[j]) ? parseInt(t[j]) : 0
        if (inum + jnum + remainder > 9) {
            result += ((inum + jnum + remainder) % 10) + ''
            remainder = 1
        } else {
            result += inum + jnum + remainder + ''
            remainder = 0
        }
        i--
        j--
    }
    
    return result.split('').reverse().join('')
}
module.exports = {
    solve : solve
};
全部评论

相关推荐

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