-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathproblem_2130.java
More file actions
31 lines (31 loc) · 1.03 KB
/
Copy pathproblem_2130.java
File metadata and controls
31 lines (31 loc) · 1.03 KB
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
/*
2130. Maximum Twin Sum of a Linked List
In a linked list of size n, where n is even, the ith node (0-indexed) of the linked list is known as the twin of the (n-1-i)th node, if 0 <= i <= (n / 2) - 1.
For example, if n = 4, then node 0 is the twin of node 3, and node 1 is the twin of node 2. These are the only nodes with twins for n = 4.
The twin sum is defined as the sum of a node and its twin. */
class Solution {
public int pairSum(ListNode head) {
int n = 0, sum = Integer.MIN_VALUE;
ListNode curr = head;
while(curr != null){
n++;
curr = curr.next;
}
if(n%2 != 0){
return -1;
}
else{
int arr[] = new int[n];
curr = head;
for(int i = 0;i<n;i++, curr = curr.next){
arr[i] = curr.val;
}
for(int i = 0;i<n/2;i++){
if(arr[i] + arr[n-1-i] > sum){
sum = arr[i] + arr[n-1-i];
}
}
}
return sum;
}
}