字符串相加
给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和并同样以字符串形式返回。
你不能使用任何內建的用于处理大整数的库(比如 BigInteger), 也不能直接将输入的字符串转换为整数形式。
示例 1:
输入:num1 = "11", num2 = "123"
输出:"134"
1
2
2
/**
* @param {string} num1
* @param {string} num2
* @return {string}
*/
var addStrings = function(num1, num2) {
const arr1 = num1.split("")
const arr2 = num2.split("")
const arr3 = []
let i1 = arr1.length - 1
let i2 = arr2.length - 1
let mod = 0
while(i1 >=0 || i2 >= 0) {
let curr1 = arr1[i1] ? Number(arr1[i1]) : 0
let curr2 = arr2[i2] ? Number(arr2[i2]) : 0
let sum = curr1 + curr2 + mod
mod = sum >= 10 ? 1 : 0
arr3.unshift(sum%10)
i1--
i2--
}
if(mod !== 0) arr3.unshift(mod)
return arr3.join("")
};
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/add-strings
← 全排列