MCPcopy Create free account
hub / github.com/careercup/CtCI-6th-Edition-JavaScript / sumList

Function sumList

chapter02/2.5 - Sum Lists/sumLists.js:4–51  ·  view source on GitHub ↗
(head1, head2)

Source from the content-addressed store, hash-verified

2var printList = require('./../util/printList');
3
4var sumList = function(head1, head2) {
5
6 var node1 = head1;
7 var node2 = head2;
8 var node3 = null;
9 var head3 = null;
10
11 var ones;
12 var tens = 0;
13 var sum;
14
15 while (node1 !== null && node2 !== null) {
16 if (node1 === null) {
17 sum = node2.value;
18 } else if (node2 === null) {
19 sum = node1.value;
20 } else {
21 sum = node1.value + node2.value;
22 }
23
24 sum += tens;
25 ones = sum % 10;
26 if (node3 === null) {
27 head3 = new LinkedList(ones);
28 node3 = head3;
29 } else {
30 node3.next = new LinkedList(ones);
31 node3 = node3.next;
32 }
33
34 tens = Math.floor(sum / 10);
35
36 if (node1 !== null) {
37 node1 = node1.next;
38 }
39
40 if (node2 !== null) {
41 node2 = node2.next;
42 }
43
44 }
45 if (tens > 0) {
46 node3.next = new LinkedList(tens);
47 node3 = node3.next;
48 }
49
50 return head3;
51};
52
53/* TEST */
54

Callers 1

sumLists.jsFile · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected