File tree 1 file changed +10
-9
lines changed
scripts/algorithms/A/Add Two Numbers II
1 file changed +10
-9
lines changed Original file line number Diff line number Diff line change
1
+ // Runtime: 160 ms (Top 61.52%) | Memory: 47.9 MB (Top 37.64%)
1
2
var addTwoNumbers = function ( l1 , l2 ) {
2
3
const reverse = head => {
3
4
let prev = null
4
5
let dummy = head
5
-
6
+
6
7
while ( dummy ) {
7
8
let temp = dummy . next
8
9
dummy . next = prev
9
10
prev = dummy
10
11
dummy = temp
11
12
}
12
- return prev
13
+ return prev
13
14
}
14
-
15
+
15
16
let head1 = reverse ( l1 )
16
17
let head2 = reverse ( l2 )
17
18
18
19
// add
19
20
let sum = new ListNode ( )
20
21
let p = sum
21
22
let carry = 0
22
-
23
+
23
24
while ( ( head1 && head2 ) || carry ) {
24
25
let v1 = head1 ?head1 . val :0
25
26
let v2 = head2 ?head2 . val :0
26
27
let v = v1 + v2 + carry
27
-
28
+
28
29
if ( v >= 10 ) carry = 1
29
30
else carry = 0
30
-
31
+
31
32
let node = new ListNode ( v % 10 )
32
-
33
+
33
34
sum . next = node
34
35
sum = sum . next
35
36
head1 = head1 && head1 . next
36
37
head2 = head2 && head2 . next
37
-
38
+
38
39
}
39
40
sum . next = head1 || head2
40
41
return reverse ( p . next )
41
- } ;
42
+ } ;
You can’t perform that action at this time.
0 commit comments