-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path3-2.js
More file actions
56 lines (44 loc) · 976 Bytes
/
3-2.js
File metadata and controls
56 lines (44 loc) · 976 Bytes
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
/**
* TODO:
* Testing
* Debugging
*/
function toString(list) {
let head = list;
let str = '';
while (head !== null) {
str = `${head.value}${str}`;
head = head.next;
}
return str;
}
function sumLists(list1, list2) {
let num1 = parseInt(toString(list1), 10);
let num2 = parseInt(toString(list2), 10);
return num1 + num2;
}
function makeList(values = []) {
let current = {
value: values.shift(),
next: null
};
const head = current;
values.forEach(value => {
next = {
value,
next: null
}
current.next = next;
current = next;
});
return head;
}
function testSumLists(values1, values2) {
let list1 = makeList(values1);
let list2 = makeList(values2);
let sum = sumLists(list1, list2);
console.log(sum);
}
testSumLists([1], [2]); // 3
testSumLists([1,2], [2,1]); // 33
testSumLists([1,2,3], [4,5]); // 375