美文网首页
415. 字符串相加

415. 字符串相加

作者: 吃饭用盘装 | 来源:发表于2018-06-07 22:27 被阅读23次

    内容

    给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和。

    注意:

    num1 和num2 的长度都小于 5100.
    num1 和num2 都只包含数字 0-9.
    num1 和num2 都不包含任何前导零。
    你不能使用任何內建 BigInteger 库, 也不能直接将输入的字符串转换为整数形式。


    思路

    大数相加,思路见代码


    代码

    /**
     * @param {string} num1
     * @param {string} num2
     * @return {string}
     */
    var addStrings = function (num1, num2) {
        var l;
        var s = num1.length > num2.length ? (l = num1, num2) : (l = num2, num1);
    
        s = new Array(l.length - s.length).fill('0').join('') + s;
    
        var needP = false;
        var result = [];
        for (var i = l.length - 1; i >= 0; i--) {
            var sum = Number(l[i]) + Number(s[i]) + (needP ? 1 : 0);
            needP = false;
            if (sum >= 10) {
                needP = true;
                sum -= 10;
            }
            result.unshift(sum.toString());
        }
    
        if (needP) {
            result.unshift('1');
        }
    
        return result.join('');
    };
    

    回到目录

    相关文章

      网友评论

          本文标题:415. 字符串相加

          本文链接:https://www.haomeiwen.com/subject/hninsftx.html