题目https://leetcode.cn/problems/maximum-twin-sum-of-a-linked-list/description/思路反转整个链表得到一个新的反转链表在原始链表上用快慢指针找到中间节点slow然后让原始链表的前半部分与反转链表的对应部分相加code/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int val) { this.val val; } * ListNode(int val, ListNode next) { this.val val; this.next next; } * } */classSolution{publicintpairSum(ListNodehead){//反转链表ListNodedummynewListNode(0,null);//反转链表的dummy节点ListNodecurhead;ListNodeoldNodenull;while(cur!null){ListNodenewNodenewListNode(cur.val,oldNode);oldNodenewNode;dummy.nextnewNode;curcur.next;}//找中间ListNodefasthead;ListNodeslowhead;while(fast!nullfast.next!null){fastfast.next.next;slowslow.next;}//比大小intmax0;ListNodecur1head;ListNodecur2dummy.next;while(cur1!slow){inttmpcur1.valcur2.val;if(tmpmax)maxtmp;cur1cur1.next;cur2cur2.next;}returnmax;}}