1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 | class Interval {
|
10 | constructor(start, end) {
|
11 | this.start = start;
|
12 | this.end = end;
|
13 | }
|
14 |
|
15 | toString() {
|
16 | return `[${this.start}, ${this.end}]`;
|
17 | }
|
18 | }
|
19 | exports.intervalCreator = arr => arr.map(([start, end]) => new Interval(start, end));
|
20 |
|
21 |
|
22 |
|
23 |
|
24 |
|
25 |
|
26 | class ListNode {
|
27 | constructor(val) {
|
28 | this.val = val;
|
29 | this.next = null;
|
30 | }
|
31 |
|
32 | toString() {
|
33 | let str = `${this.val}`;
|
34 | let node = this.next;
|
35 | while (node) {
|
36 | str += ` -> ${node.val}`;
|
37 | node = node.next;
|
38 | }
|
39 | return str;
|
40 | }
|
41 | }
|
42 | exports.linkedListCreator = (arr) => {
|
43 | const head = new ListNode(null);
|
44 | if (!arr.length) {
|
45 | return head;
|
46 | }
|
47 |
|
48 | for (let i = arr.length - 1; i !== -1; i--) {
|
49 | const node = new ListNode(arr[i]);
|
50 | node.next = head.next;
|
51 | head.next = node;
|
52 | }
|
53 | return head.next;
|
54 | };
|