2
* Definition for singly-linked list. public class ListNode { int val; ListNode next; ListNode() {}3
* ListNode(int val) { this.val = val; } ListNode(int val, ListNode next) { this.val = val;4
* this.next = next; } }7
public int pairSum(ListNode head) {11
if (head.next == null) {16
while (fast != null && fast.next != null) {18
fast = fast.next.next;22
int sum = Integer.MIN_VALUE;23
while (slow != null) {24
sum = Math.max(slow.val + fast.val, sum);31
public ListNode reverse(ListNode node) {35
ListNode current = node;36
ListNode previous = null;37
while (current != null) {38
ListNode next = current.next;39
current.next = previous;