Skip to content

Commit ff3a05d

Browse files
authored
Update 2130-maximum-twin-sum-of-a-linked-list.js
Modularizing the code.
1 parent 8dc73fe commit ff3a05d

File tree

1 file changed

+22
-20
lines changed

1 file changed

+22
-20
lines changed

javascript/2130-maximum-twin-sum-of-a-linked-list.js

+22-20
Original file line numberDiff line numberDiff line change
@@ -14,28 +14,30 @@
1414
*/
1515
var pairSum = function (head) {
1616
const mid = llLength(head) / 2;
17-
18-
// get the right starting pointer
19-
let count = 0;
20-
let rightPointer = head;
21-
while (count < mid) {
22-
rightPointer = rightPointer.next;
23-
count++;
24-
}
25-
26-
// reverse the left portion of the array
27-
leftPointer = reverseLL(head, mid);
28-
29-
let max = 0;
30-
while (leftPointer && rightPointer) {
31-
max = Math.max(leftPointer.val + rightPointer.val, max);
32-
leftPointer = leftPointer.next;
33-
rightPointer = rightPointer.next;
34-
}
35-
36-
return max;
17+
const rightPointer = getRightPointer(head, mid);
18+
const leftPointer = reverseLL(head, mid);
19+
20+
return getMax(leftPointer, rightPointer);
3721
};
3822

23+
var getMax = (leftPointer, rightPointer) => {
24+
let max = 0;
25+
while (leftPointer && rightPointer) {
26+
max = Math.max(leftPointer.val + rightPointer.val, max);
27+
leftPointer = leftPointer.next;
28+
rightPointer = rightPointer.next;
29+
}
30+
return max;
31+
}
32+
var getRightPointer = (head, mid) => {
33+
let count = 0;
34+
let rightPointer = head;
35+
while (count < mid) {
36+
rightPointer = rightPointer.next;
37+
count++;
38+
}
39+
return rightPointer;
40+
}
3941

4042
var llLength = (head) => {
4143
let count = 0;

0 commit comments

Comments
 (0)