forked from AnasImloul/Leetcode-Solutions
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathAdd Strings.js
26 lines (24 loc) · 820 Bytes
/
Add Strings.js
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
// Runtime: 114 ms (Top 41.92%) | Memory: 45.1 MB (Top 19.07%)
var addStrings = function(num1, num2) {
let longer = num1.length >= num2.length ? num1 : num2;
let shorter = num1.length < num2.length ? num1 : num2;
let diff = (longer.length - shorter.length)
for (let i = 0; i < diff; i++) {
shorter = '0' + shorter;
}
let str = '';
let remainder = 0;
for (let i = (longer.length -1); i >= 0; i--) {
let num = remainder > 0
? remainder + parseInt(longer[i]) + parseInt(shorter[i])
: parseInt(longer[i]) + parseInt(shorter[i]);
if (num > 9) {
remainder = 1;
num = num - 10;
} else {
remainder = 0;
}
str = num.toFixed() + str;
}
return !!remainder ? remainder + str : str;
};