news 2026/8/22 1:33:17

力扣刷题:反转链表Ⅱ

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
力扣刷题:反转链表Ⅱ

题目:
给你单链表的头指针 head 和两个整数 left 和 right ,其中 left <= right 。请你反转从位置 left 到位置 right 的链表节点,返回 反转后的链表 。

示例 1:

输入:head = [1,2,3,4,5], left = 2, right = 4
输出:[1,4,3,2,5]

示例 2:

输入:head = [5], left = 1, right = 1
输出:[5]

解析:
这道题跟反转链表1的思路是一样的,无非在这里需要设置一个虚拟的头部节点,方便重新连接的操作

具体代码:

/** * 反转链表从第left个节点到第right个节点的部分 * @param {ListNode} head - 链表头节点 * @param {number} left - 起始位置(从1开始计数) * @param {number} right - 结束位置 * @return {ListNode} - 反转后的链表头节点 */varreverseBetween=function(head,left,right){// 创建虚拟头节点,简化边界情况处理(特别是当left=1时)constdummy=newListNode(0,head)// p0指针将指向要反转部分的前一个节点letp0=dummy// 移动p0到要反转部分的前一个节点// 例如:left=2时,p0需要移动到第1个节点for(leti=0;i<left-1;i++){p0=p0.next}// 准备反转链表的核心指针letpre=null// pre指向已反转部分的头节点letcur=p0.next// cur指向当前要反转的节点(第left个节点)// 反转从left到right的链表部分// 需要反转的节点数量:right-left+1for(leti=0;i<right-left+1;i++){// 保存当前节点的下一个节点consttemp=cur.next// 反转:当前节点指向已反转部分cur.next=pre// 移动pre指针到当前节点(扩展已反转部分)pre=cur// 移动cur指针到下一个待反转节点cur=temp}// 循环结束后:// - pre指向反转后的新头节点(原第right个节点)// - cur指向未反转部分的首节点(原第right+1个节点)// 关键连接步骤1:将反转部分的尾节点连接到剩余链表// p0.next指向原第left个节点(现在是反转部分的尾节点)// 将其next指向cur(未反转部分的首节点)p0.next.next=cur// 关键连接步骤2:将p0连接到反转部分的新头节点// p0是反转部分的前一个节点,现在连接到反转后的新头节点prep0.next=pre// 返回整个链表的头节点returndummy.next};
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/21 3:28:51

代码生成延迟降低80%?Open-AutoGLM性能优化实战全解析,速看

第一章&#xff1a;代码生成延迟降低80%&#xff1f;Open-AutoGLM性能优化的背景与意义在大模型驱动的智能编程时代&#xff0c;代码生成的实时性直接决定了开发者体验的流畅度。Open-AutoGLM 作为开源自动代码生成语言模型&#xff0c;其原始架构在高并发请求下存在显著延迟问…

作者头像 李华
网站建设 2026/8/21 19:29:16

AtCoder Beginner Contest竞赛题解 | 洛谷 AT_abc435_b No-Divisible Range

​欢迎大家订阅我的专栏&#xff1a;算法题解&#xff1a;C与Python实现&#xff01; 本专栏旨在帮助大家从基础到进阶 &#xff0c;逐步提升编程能力&#xff0c;助力信息学竞赛备战&#xff01; 专栏特色 1.经典算法练习&#xff1a;根据信息学竞赛大纲&#xff0c;精心挑选…

作者头像 李华
网站建设 2026/8/21 2:42:26

5、高效管理邮件与社交日程的实用指南

高效管理邮件与社交日程的实用指南 在日常的数字化生活中,邮件和社交日程管理是我们经常需要处理的事务。掌握一些高效的操作技巧,能够帮助我们更加便捷地完成这些任务。下面将为大家详细介绍邮件操作和社交日程管理的相关内容。 邮件操作技巧 1. 草稿保存与打开 在撰写邮…

作者头像 李华
网站建设 2026/8/21 20:32:26

13、《电脑多人共享使用全攻略》

《电脑多人共享使用全攻略》 1. 用户账户管理 在多人共享电脑的场景下,用户账户管理是保障个人数据隐私和使用体验的关键。用户账户可以让每个人使用自己独立的文档、程序和 Windows 设置,避免相互干扰。下面将详细介绍用户账户管理的各项操作。 1.1 显示用户账户 要对用…

作者头像 李华
网站建设 2026/8/22 0:45:20

Excalidraw导出SVG/PNG时的分辨率设置建议

Excalidraw 导出 SVG/PNG 时的分辨率设置建议 在技术文档、系统设计和团队协作中&#xff0c;一张清晰的架构图往往胜过千言万语。但你是否也遇到过这样的尴尬&#xff1a;在 Excalidraw 里画得清清楚楚&#xff0c;导出后插入 PPT 或文档却变得模糊不清&#xff1f;文字边缘发…

作者头像 李华