力扣 92.反转链表Ⅱ
力扣《反转链表》系列文章目录
刷题次序,由易到难,一次刷通!!!
| 题目 | 题解 |
|---|---|
| 206. 反转链表 | 反转链表的全部 题解1 |
| 92. 反转链表 II | 反转链表的指定段 |
| 24. 两两交换链表中的节点 | 两个一组反转链表 题解2 |
| 25. K 个一组翻转链表 | K 个一组反转题解3 |
一、反转链表Ⅱ

二、解题思路
本题与206.反转链表异曲同工,只需在其基础上考虑将 lefr 至 right 的链表反转后,如何正确连接回原链表上。以下为几个需要注意的点:
-
考虑 left 为 1 的情况,为实现统一操作,设置一个哨兵节点 dummy node。

-
找到 left 的上一个节点(节点p0),right 的下一个节点。

-
考虑反转全部链表的情况,从原链表的视角看,pre 指向最后一个节点(反转后的第一个节点);cur 指向空。而对于反转链表中 left 至 right 的情况,pre 仍指向最后一个节点(反转后的第一个节点);而 cur 指向后半部分未反转的第一个节点(也就是 right 的下一个节点)。将 left 的上一个节点叫做 p0,则 p0.next = left,反转后 left 为这段的最后一个节点,需要指向原来 right 的下一个节点(cur),即需 p0.next 指向 cur,之后将 p0.next 指向 反转部分链表的第一个节点,即让 p0.next 指向 pre。注意:这里两次指向的顺序不能颠倒

三、代码
/*** 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; }* }*/
class Solution {public ListNode reverseBetween(ListNode head, int left, int right) {ListNode dummy = new ListNode(0, head);ListNode p0 = dummy;// 让 p0 指向 left 的上一个节点for (int i = 0; i < left - 1; i++) {p0 = p0.next;}ListNode pre = null;ListNode cur = p0.next;for (int i = 0; i < right - left + 1; i++) {ListNode nxt = cur.next;cur.next = pre;// 反转pre = cur;// 更新指针cur = nxt;// 更新指针}// 让部分反转的节点正确连接回原来的整个链表p0.next.next = cur; p0.next = pre;return dummy.next;// 注意不返回哨兵节点 dummy node}
}
相关文章:
力扣 92.反转链表Ⅱ
力扣《反转链表》系列文章目录 刷题次序,由易到难,一次刷通!!! 题目题解206. 反转链表反转链表的全部 题解192. 反转链表 II反转链表的指定段24. 两两交换链表中的节点两个一组反转链表 题解225. K 个一组翻转链表K …...
2024年最新版TypeScript学习笔记——泛型、接口、枚举、自定义类型等知识点
今天带来的是来自尚硅谷禹神2024年8月最新的TS课程的学习笔记,不得不说禹神讲的是真的超级棒! 文章目录 TS入门JS中的困扰静态类型检查编译TS命令行编译自动化编译 类型检查变量和函数类型检查字面量类型检查 类型推断类型声明声明对象类型声明函数类型…...
java项目之城镇保障性住房管理系统(源码+文档)
风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的城镇保障性住房管理系统。项目源码以及部署相关请联系风歌,文末附上联系信息 。 项目简介: 城镇保障性住房管…...
无人机之航线规划篇
无人机的航线规划是一个复杂但至关重要的过程,它确保了无人机在飞行过程中的安全、高效以及任务的顺利完成。以下是对无人机航线规划的详细解析: 一、定义与目的 无人机航线规划是指依据无人机任务分配,规划出符合安全条件的飞行航线。这一过…...
828 华为云征文|华为 Flexus 云服务器搭建 PicGo 图床
在这个充满非凡意义的日子里,我怀揣着满心的热忱与憧憬,毅然决然地踏上了借助华为 Flexus 云服务器搭建 PicGo 图床的精彩征程。这段旅程,注定充满了无数的挑战与意外之喜,宛如在广袤无垠的数字海洋中勇敢地探寻那神秘而珍贵的宝藏…...
Zabbix 6.4添加中文语言
/usr/share/zabbix/include/locales .inc .phplocale -agrep “zh_CN" yum install langpacks-zh_CN.noarch y y y...
【退役之再次线上部署】Spring Boot + VUE + Nginx + MySQL
这篇博客写在凌晨 4 点 20 分,这个时候我刚线上部署完成 web 项目,自己写的全栈项目 这个点儿,也睡不着了,索性就写篇博客记录一下 一、踩坑实录 这个是 最重要的,所以写在前面 Nginx 配置文件 location location /a…...
Qanything 2 0源码解析系列1:新建知识库
Qanything 2.0源码解析系列1:新建知识库 文章转载自:https://www.feifeixu.top/article/19c76951-5881-4181-bb63-4188b28d3917 😀 前言: qanything所有接口都定义在sanic_api.py中 接口函数定义在同级目录下的handler.py中 新建…...
Redis-01 入门和十大数据类型
Redis支持两种持久化方式:RDB持久化和AOF持久化。 1.RDB持久化是将Redis的数据以快照的形式保存在磁盘上,可以手动触发或通过配置文件设置定时触发。RDB保存的是Redis在某个时间点上的数据快照,可以通过恢复RDB文件来恢复数据。 2.AOF持久化…...
IT行业的现状与未来发展趋势
IT行业的现状与未来发展趋势 近年来,随着科技的迅猛发展,IT行业无疑已经成为全球经济增长的重要驱动力之一。无论是人工智能、大数据,还是云计算和区块链技术,IT行业的创新始终在不断推动着各个领域的变革。 人工智能的广泛应用…...
828华为云征文 | 云服务器Flexus X实例,Docker集成搭建Jenkins CI/CD平台
828华为云征文 | 云服务器Flexus X实例,Docker集成搭建Jenkins CI/CD平台 Jenkins 是一个开源的自动化服务器,用于持续集成(CI)和持续交付(CD)软件项目。它允许开发人员在软件开发过程中自动化各种任务&…...
今日 leetCode 15.三数之和
15. 三数之和 给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i ! j、i ! k 且 j ! k ,同时还满足 nums[i] nums[j] nums[k] 0 。请你返回所有和为 0 且不重复的三元组。 注意:答案中不可以包含重复的三元…...
Games101笔记-二维Transform变换(二)
1、什么是Transform Transform就是通过一个矩阵,进行缩放、旋转、平移等变换 2、缩放、旋转、切变、平移等基础变换 缩放变换: 反射变换: 切变: 绕原点旋转: 以上都是线性变换: 平移变换…...
【洛谷】AT_abc371_c [ABC371C] Make Isomorphic 的题解
【洛谷】AT_abc371_c [ABC371C] Make Isomorphic 的题解 洛谷传送门 AT传送门 题解 抽象题目,抽象翻译,可能是我太菜了,根本没看懂题目,后面是听大佬讲题才发现,这不就是一题全排列暴力题吗。谔谔,真的…...
全国职业院校技能大赛(大数据赛项)-平台搭建Spark、Scala笔记
Spark作为一个开源的分布式计算框架拥有高效的数据处理能力、丰富的生态系统、多语言支持以及广泛的行业应用。Scala是一种静态类型的编程语言,它结合了面向对象编程和函数式编程的特性,被誉为通用的“大数据语言”。而二者的结合更能迸发出新奇的化学反…...
【Java】JVM基本组成
一、JDK、JRE、JVM JDK:全称 “Java Development Kit” Java 开发工具包,提供 javac编译器、jheap、jconsole 等监控工具; JRE:全称 “Java Runtime Environment” Java 运行环境,提供 class Library 核心类库JVM; …...
解决【WVP服务+ZLMediaKit媒体服务】加入海康摄像头后,能发现设备,播放/点播失败,提示推流超时!
环境介绍 每人搭建的环境不一样,情况不一样,但是原因都是下面几种: wvp配置不当网络端口未放开网络不通 我搭建的环境: WVP服务:windows下,用idea运行的源码 ZLM服务:虚拟机里 问题描述 1.…...
淘宝商品详情接口item_get响应参数解析:props、props_list、prop_img
在电商数据分析和应用开发中,淘宝商品详情接口item_get是一个至关重要的工具。通过该接口,开发者可以高效地获取淘宝平台商品的详细信息,从而优化商品展示、搜索、推荐等功能,提升用户体验和转化率。本文将详细解析item_get接口的…...
Android使用OpenCV 4.5.0实现扑克牌识别(源码分享)
一、显示效果展示 二、OpenCV 4.5.0 OpenCV 4.5.0是OpenCV(Open Source Computer Vision Library,开源计算机视觉库)的一个重要更新版本,该版本在多个方面进行了优化和新增了多项功能。 三、ONNX模型 ONNX(Open Neu…...
Pandas_iloc_loc_哪个是inclusive哪个是exclusive
iloc 和 loc 包括不包括结尾写的那个行(列)? 不一样! iloc[istart:iend] exclusive on iend 不包括结尾那行(列)! loc[start:end] inclusive on end 包括结尾那行(列)&am…...
后端实战案例:企业级框架设计与优化实践
一、前言在 2026 年的软件开发中,Java 已经成为每一位工程师必须掌握的技能。无论是构建高性能后端服务、开发响应式前端界面,还是维护生产级服务器集群,这项技术都在其中扮演着关键角色。很多开发者在入门阶段会遇到一个普遍问题:…...
intv_ai_mk11真实案例分享:中小企业如何用该模型降本提效做内容生产
intv_ai_mk11真实案例分享:中小企业如何用该模型降本提效做内容生产 1. 中小企业内容生产的痛点与机遇 在当今内容为王的时代,中小企业面临着巨大的内容生产压力。每天需要产出大量文案、产品介绍、营销内容、客服回复等,但往往受限于人力成…...
3个核心模块提升原神游戏体验的智能辅助工具
3个核心模块提升原神游戏体验的智能辅助工具 【免费下载链接】better-genshin-impact 📦BetterGI 更好的原神 - 自动拾取 | 自动剧情 | 全自动钓鱼(AI) | 全自动七圣召唤 | 自动伐木 | 自动刷本 | 自动采集/挖矿/锄地 | 一条龙 | 全连音游 - UI Automation Testing…...
OpenClaw成本控制:Qwen2.5-VL-7B图文任务Token消耗优化
OpenClaw成本控制:Qwen2.5-VL-7B图文任务Token消耗优化 1. 多模态任务Token消耗的痛点 当我第一次用OpenClaw对接Qwen2.5-VL-7B模型处理图文混合任务时,账单上的Token消耗数字让我倒吸一口凉气。一个简单的"分析截图内容并生成报告"的任务&a…...
【C++27 constexpr革命性突破】:5大新增约束与3类不可逆性能跃迁,资深编译器工程师亲授落地实践
第一章:C27 constexpr革命性突破的底层动因与标准演进全景C27 将首次允许 constexpr 函数完整支持动态内存分配(std::allocator 与 new/delete)、虚函数调用、异常处理(try/catch)及完整 I/O 流子集,其根本…...
用九齐单片机NY8B062F定时器实现精准延时与系统时基:从4ms中断到1秒计时的完整工程实践
九齐单片机NY8B062F定时器工程实战:构建高精度时基与延时系统 在嵌入式系统开发中,定时器如同设备的心跳,为各类功能提供精准的时间基准。九齐NY8B062F作为一款高性价比8位单片机,其四组灵活配置的定时器资源尤其适合小家电、智能…...
深入解析pysim中的eUICC ISD-R命令:从基础操作到高级应用
1. eUICC ISD-R命令基础入门 第一次接触eUICC ISD-R命令时,我完全被那些专业术语搞晕了。经过几个项目的实战,我发现这些命令其实就像智能手机上的应用商店操作——只不过管理的是SIM卡上的应用。eUICC(嵌入式通用集成电路卡)是现…...
Python智能自动化:JianYingApi赋能视频处理新范式
Python智能自动化:JianYingApi赋能视频处理新范式 【免费下载链接】JianYingApi Third Party JianYing Api. 第三方剪映Api 项目地址: https://gitcode.com/gh_mirrors/ji/JianYingApi 在数字内容创作领域,视频处理的智能化与自动化已成为提升效率…...
嵌入式系统接口技术详解与应用实践
1. 嵌入式系统接口技术概述在嵌入式系统开发中,接口技术是连接处理器与外部设备的关键桥梁。作为一名嵌入式开发工程师,我经常需要根据项目需求选择合适的接口方案。本文将基于多年实战经验,深入解析各类嵌入式接口的工作原理、应用场景和选型…...
HUSB238 USB-C PD物理层驱动设计与ESP32集成指南
1. HUSB238 驱动库概述HUSB238 是由 Microchip 推出的 USB Type-C 和 USB PD(Power Delivery)源端(Source)控制器,专为高集成度、小尺寸 USB-C 充电应用设计。其核心功能包括:USB-C 插拔检测(CC…...
