File tree Expand file tree Collapse file tree 1 file changed +41
-0
lines changed Expand file tree Collapse file tree 1 file changed +41
-0
lines changed Original file line number Diff line number Diff line change
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
+ } ;
You can’t perform that action at this time.
0 commit comments