Skip to content

Commit 5dbdfaa

Browse files
committed
add two numbers
1 parent e0cd94f commit 5dbdfaa

File tree

1 file changed

+41
-0
lines changed

1 file changed

+41
-0
lines changed

addTwoNumbers.js

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
var addTwoNumbers = function(l1, l2) {
2+
let myList = new ListNode(0),
3+
l1number = [],
4+
l2number = [],
5+
pointer = myList
6+
7+
while(l1 || l2){
8+
if (l1){
9+
l1number.push(l1.val)
10+
l1 = l1.next
11+
}
12+
if (l2){
13+
l2number.push(l2.val)
14+
l2 = l2.next
15+
}
16+
}
17+
18+
let index = 0, total = [], carry
19+
20+
while (index < l1number.length || index < l2number.length){
21+
let sum = (l1number[index] || 0) + (l2number[index] || 0)
22+
23+
if (sum >= 10){
24+
if (l1number[(index + 1)] !== undefined){
25+
l1number[(index + 1)] += 1
26+
} else {
27+
l1number.push(1)
28+
}
29+
}
30+
total.unshift(sum % 10)
31+
index++
32+
}
33+
34+
while(total.length){
35+
let node = new ListNode(total.pop())
36+
pointer.next = node
37+
pointer = node
38+
}
39+
40+
return myList.next
41+
};

0 commit comments

Comments
 (0)