Skip to content

Commit

Permalink
Update 2130-maximum-twin-sum-of-a-linked-list.js
Browse files Browse the repository at this point in the history
Modularizing the code.
  • Loading branch information
aadil42 authored Sep 7, 2023
1 parent 8dc73fe commit ff3a05d
Showing 1 changed file with 22 additions and 20 deletions.
42 changes: 22 additions & 20 deletions javascript/2130-maximum-twin-sum-of-a-linked-list.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,28 +14,30 @@
*/
var pairSum = function (head) {
const mid = llLength(head) / 2;

// get the right starting pointer
let count = 0;
let rightPointer = head;
while (count < mid) {
rightPointer = rightPointer.next;
count++;
}

// reverse the left portion of the array
leftPointer = reverseLL(head, mid);

let max = 0;
while (leftPointer && rightPointer) {
max = Math.max(leftPointer.val + rightPointer.val, max);
leftPointer = leftPointer.next;
rightPointer = rightPointer.next;
}

return max;
const rightPointer = getRightPointer(head, mid);
const leftPointer = reverseLL(head, mid);

return getMax(leftPointer, rightPointer);
};

var getMax = (leftPointer, rightPointer) => {
let max = 0;
while (leftPointer && rightPointer) {
max = Math.max(leftPointer.val + rightPointer.val, max);
leftPointer = leftPointer.next;
rightPointer = rightPointer.next;
}
return max;
}
var getRightPointer = (head, mid) => {
let count = 0;
let rightPointer = head;
while (count < mid) {
rightPointer = rightPointer.next;
count++;
}
return rightPointer;
}

var llLength = (head) => {
let count = 0;
Expand Down

0 comments on commit ff3a05d

Please sign in to comment.