xszi / javascript-algorithms

算法修炼中...
5 stars 0 forks source link

字符串相加 #61

Open xszi opened 3 years ago

xszi commented 3 years ago

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

例如:

"111" + ”2222“ = ”2333“

注意:

leetcode

xszi commented 3 years ago

从低位开始相加

代码实现:

var addStrings = function(num1, num2) {
    let a = num1.length, b = num2.length, result = '', tmp = 0
    while(a || b) {
        a ? tmp += +num1[--a] : ''
        b ? tmp +=  +num2[--b] : ''

        result = tmp % 10 + result
        if(tmp > 9) tmp = 1
        else tmp = 0
    }
    if (tmp) result = 1 + result
    return result
};

复杂度分析:

时间复杂度 O(max(M,N)) 空间复杂度 O(1)