415. 字符串相加

内容

给定两个字符串形式的非负整数 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('');
};

回到目录

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容