news 2026/6/18 21:35:49

【LeetCode 2130】 链表最大孪生和 - 解题总结

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【LeetCode 2130】 链表最大孪生和 - 解题总结

📌 题目介绍

在一个大小为nn偶数的链表中,对于0 <= i <= (n / 2) - 1i,第i个节点(下标从0开始)的孪生节点为第(n-1-i)个节点 。

  • 比方说,n = 4那么节点0是节点3的孪生节点,节点1是节点2的孪生节点。这是长度为n = 4的链表中所有的孪生节点。

孪生和定义为一个节点和它孪生节点两者值之和。

给你一个长度为偶数的链表的头节点head,请你返回链表的最大孪生和


💡 核心思路

关键点解决方案
无法随机访问快慢指针找中点
无法反向遍历反转后半段链表
计算最大值双指针同时遍历

🔑 三步解法

步骤 1:快慢指针找中点

let slow = head, fast = head; while (fast !== null && fast.next !== null) { slow = slow.next; fast = fast.next.next; } // slow 指向后半段起点

步骤 2:反转后半段链表

let prev = null, curr = slow; while (curr !== null) { let next = curr.next; curr.next = prev; prev = curr; curr = next; } // prev 指向反转后的头

步骤 3:双指针计算最大和

let maxSum = 0; let p1 = head, p2 = prev; while (p2 !== null) { let sum = p1.val + p2.val; maxSum = Math.max(maxSum, sum); p1 = p1.next; p2 = p2.next; } return maxSum;

📊 复杂度分析

类型复杂度说明
时间O(n)遍历链表约 1.5 次
空间O(1)只使用指针变量

🎯 知识点总结

  1. 快慢指针:找中点/检测环的经典技巧
  2. 原地反转链表:三指针迭代法
  3. 双指针遍历:同时处理两段数据结构
  4. 链表分割思想:将问题拆分为独立子问题

📚 类似题目推荐

题目考点
141. 环形链表快慢指针
206. 反转链表链表反转
143. 重排链表中点 + 反转 + 合并

💬学习心得:链表题的关键是画图理解指针变化,动手模拟每一步能帮助避免逻辑错误!

完整代码

var pairSum = function(head) { //找到链表中点(快慢指针) let slow = head; //定义快慢指针 let fast = head; while (fast !== null && fast.next !== null){ //确保快指针两步都有路可走 slow = slow.next; //慢指针每次指向下一个节点 fast = fast.next.next; //快指针每次指向下下个节点 } //将后半段链表反转(三指针迭代) let prev = null; let curr = slow; while(curr !== null){ let next = curr.next;// 1. 暂存下一个节点 curr.next = prev; // 2. 翻转指向 prev = curr; // 3. prev 前进到当前节点 curr = next; // 4. curr 前进到下一个节点 } //遍历前后两段,计算最大孪生和(双指针) let maxSum = 0; let p1 = head; let p2 = prev; while (p2 !== null) { // 计算当前孪生和并更新最大值 let currentSum = p1.val + p2.val maxSum = Math.max(maxSum,currentSum) // 移动两个指针 p1 = p1.next p2 = p2.next } return maxSum; };

PS:该总结由Leet生成

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/18 21:33:05

告别开题内耗!百考通AI助力高校学生高效搞定开题报告

在学术写作的整个流程中&#xff0c;多数同学的第一道难关从来不是正文撰写、数据分析或是论文定稿&#xff0c;而是看似篇幅不长、却决定整篇论文走向的开题报告。作为论文写作的核心框架基石&#xff0c;开题报告敲定了研究方向、写作逻辑、研究方法与整体结构&#xff0c;直…

作者头像 李华
网站建设 2026/6/18 21:22:11

Java 明明有 GC,为什么还会 OOM?生产事故引起了一下反思

有 GC&#xff0c;为什么还会 OOM&#xff1f;这么问好像略显白痴一些 一句话答案GC 只能回收没人用的对象。 如果对象一直有人拿着引用不放&#xff0c;GC 永远不敢动它&#xff0c;内存就会撑爆。二、用生活场景理解 把 JVM 堆内存想象成一个停车场&#xff0c;GC 是停车场管…

作者头像 李华
网站建设 2026/6/18 21:19:44

Java计算机毕设之基于 Spring Boot 的林区土地资源管控系统的设计与实现 基于 Spring Boot 的林业资源数据统计分析系统(完整前后端代码+说明文档+LW,调试定制等)

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华
网站建设 2026/6/18 21:19:13

【毕业设计】基于 Java 的用户情绪记录与宣泄服务系统的设计与实现 基于 Java 的轻量化心理情绪宣泄互动平台(源码+文档+远程调试,全bao定制等)

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华
网站建设 2026/6/18 21:17:15

毕设开源项目合集|SpringBoot+Vue 全套源码免费下载,适配课程设计 / 毕业设计(毕设论文智能AI画图助手)

还在为毕业设计找不到完整可运行的项目源码发愁&#xff1f;网上零散代码残缺、前后端不分离、缺少配套论文、调试踩坑没人带&#xff1f;今天给大家整理一批高质量完整开源毕设项目&#xff0c;全部前后端分离、附带数据库脚本&#xff0c;直接可二次开发&#xff0c;文末附官…

作者头像 李华