leetcode92. 反转链表 II(java)

news2024/12/23 9:57:15

反转链表 II

  • 题目描述
    • 哨兵技巧
    • 代码演示

题目描述

难度 - 中等
leetcode92. 反转链表 II

给你单链表的头指针 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]

提示:
链表中节点数目为 n
1 <= n <= 500
-500 <= Node.val <= 500
1 <= left <= right <= n
进阶: 你可以使用一趟扫描完成反转吗?

在这里插入图片描述

哨兵技巧

为了减少边界判断,我们可以建立一个虚拟头结点 dummy,使其指向 head,最终返回 dummy.next。
这种「哨兵」技巧能应用在所有的「链表」题目。
黄色部分的节点代表需要「翻转」的部分:
在这里插入图片描述之后就是常规的模拟,
在这里插入图片描述

代码演示

class Solution {
    public ListNode reverseBetween(ListNode head, int l, int r) {
        ListNode dummy = new ListNode(0);
        dummy.next = head;

        r -= l;
        ListNode hh = dummy;
        while (l-- > 1) hh = hh.next;

        ListNode a = hh.next, b = a.next;
        while (r-- > 0) {
            ListNode tmp = b.next;
            b.next = a;
            a = b;
            b = tmp;
        }
        
        hh.next.next = b;
        hh.next = a;
        return dummy.next;
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1012742.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

老板要我开发一个简单的工作流引擎-读后感与补充

概述 最近读了一篇《老板要我开发一个简单的工作流引擎》 幽默风趣&#xff0c;干货较多&#xff0c;作为流程引擎的设计者、开发者、探索者&#xff0c;写的很好&#xff0c;合计自己的理解&#xff0c;对每个功能补充说明&#xff0c;对于流程引擎的应用场景&#xff0c;做出…

CoinW TOKEN2049 After Party落幕,分享如何在加密寒冬保持增长

CoinW, 全球领先的数字资产交易平台&#xff0c;在TOKEN2049新加坡期间举办的After Party&#xff0c;于当地时间13日晚落幕。Sui、1inch、Hacken、TinyTrader、AI Analysis等数十个项目方现场带来主题分享。CoinGecko、Cointelegraph、Coin Time、Coinlive、ODAILY、BlockBeat…

使用 Python 和机器学习掌握爬虫和情感分析

在本教程中&#xff0c;我们将抓取一个网站并使用自然语言处理来分析文本数据。 最终结果将是对网站内容的情感分析。以下是我们将遵循的步骤&#xff1a; 项目范围所需的库了解网页抓取抓取网站文本清理和预处理使用机器学习进行情感分析最后结果 一、项目范围 该项目的目…

Bean的管理

配置优先级 Bean管理 获取bean 默认情况下&#xff0c;Spring项目启动时&#xff0c;会把bean多创建好放在IOC容器中&#xff0c;如果想要主动获取这些bean&#xff0c;可以通过如下方式&#xff1a; bean作用域 Spring支持五种作用域&#xff0c;后三种在Web环境才生效&…

十、MySql的索引(重点)

文章目录 一、定义二、常见分类&#xff08;一&#xff09;案例 三、 认识磁盘&#xff08;一&#xff09;MySQL与存储&#xff08;二&#xff09;扇区&#xff08;三&#xff09;定位扇区&#xff08;四&#xff09;结论&#xff08;五&#xff09;磁盘随机访问(Random Access…

EasyX图形化界面

这里写目录标题 EasyX绘制简单的图形化窗口窗口坐标设置窗口属性实现基本绘图功能贴图原样贴图透明贴图认识素材 代码步骤 按键交互阻塞按键 鼠标交互 EasyX 绘制简单的图形化窗口 代码示例&#xff1a; while&#xff08;1&#xff09;&#xff1b; 可以防止闪屏 窗口坐标 …

初见QT,控件的基本应用,实现简单登录窗口

窗口实现代码 #include "widget.h"Widget::Widget(QWidget *parent): QWidget(parent) {//窗口设置this->setFixedSize(538, 373); //固定窗口大小this->setWindowIcon(QIcon("G:\\QT_Icon\\windos_icon2.png"))…

JDK8特性——Stream API

文章目录 集合处理数据的弊端Steam流式思想概述Stream流的获取方式根据Collection获取通过Stream的of方法 Stream常用方法介绍forEachcountfilterlimitskipmapsorteddistinctmatchfindmax和minreducemap和reduce的组合mapToIntconcat Stream结果收集结果收集到集合结果收集到数…

[C++基础]-stack和queue

前言 作者&#xff1a;小蜗牛向前冲 名言&#xff1a;我可以接受失败&#xff0c;但我不能接受放弃 如果觉的博主的文章还不错的话&#xff0c;还请点赞&#xff0c;收藏&#xff0c;关注&#x1f440;支持博主。如果发现有问题的地方欢迎❀大家在评论区指正。 目录 一、st…

setInterval倒计时切换页面后不准

背景 最近在做一个倒计时时&#xff0c;发现当切换浏览器tab后&#xff0c;再切回倒计时页面&#xff0c;倒计时的数据不准&#xff0c;比真正的剩余时间多&#xff0c;短时间还好&#xff0c;时间长了&#xff0c;计时器的误差会很大。 原因 倒计时是用setInterval每1000毫…

盘点:人工智能发展趋势下的4大常见AI算法以及应用场景

近年来&#xff0c;人工智能的发展速度十分惊人&#xff0c;在安防监控、工业制造、农业、教育、金融、医疗等领域中的应用越来越广泛&#xff0c;并且未来几年也将继续保持高速的发展趋势。通过人工智能技术提高自动化程度、减少人工干预、提高监管效率&#xff0c;已经成为当…

在QML中如何使用首字母小写(蛇形)命名法

前言 最近在学习研究QML&#xff0c;想要自定义组件、信号、属性等&#xff0c;但如何对.qml文件、变量命名却是个问题。习惯了蛇形命名规范后&#xff0c;再让我回到驼峰命名规范&#xff0c;多少是不愿意的。 为了坚守信仰&#xff0c;我翻遍了各大技术网站&#xff0c;然而…

里氏替换原则~

里氏替换原则&#xff08;Liskov Substitution Principle&#xff09;是面向对象设计中的一个基本原则&#xff0c;它是由Barbara Liskov提出的。 如果对于每一个类型为Apple的对象1&#xff0c;都有类型为fruit的对象2&#xff0c;使得以fruit定义的所有程序 P 在所有的对象1都…

Web服务器解析:从基础到高级的全面指南

&#x1f482; 个人网站:【工具大全】【游戏大全】【神级源码资源网】&#x1f91f; 前端学习课程&#xff1a;&#x1f449;【28个案例趣学前端】【400个JS面试题】&#x1f485; 寻找学习交流、摸鱼划水的小伙伴&#xff0c;请点击【摸鱼学习交流群】 引言 Web服务器是现代互…

竞赛选题 基于机器视觉的车道线检测

文章目录 1 前言2 先上成果3 车道线4 问题抽象(建立模型)5 帧掩码(Frame Mask)6 车道检测的图像预处理7 图像阈值化8 霍夫线变换9 实现车道检测9.1 帧掩码创建9.2 图像预处理9.2.1 图像阈值化9.2.2 霍夫线变换 最后 1 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分…

el-calendar日历 简易排班

公司物流部要个简易的排班功能&#xff0c;由主管去设置线路&#xff0c;线路绑定上负责人。然后直接往日历里添加。 1、隐藏了自带的切换月份&#xff0c;改用了日期选择器。 2、禁用了非本月的点击事件&#xff0c;防止点击自动跳转到其他月份。 3、添加了点击多选&…

C# 流Stream详解(3)——FileStream源码

【FileStream】 构造函数 如果创建一个FileStream&#xff0c;常见的参数例如路径Path、操作方式FileMode、权限FileAccess。 这里说下FileShare和SafeFileHandle。 我们知道在读取文件时&#xff0c;通常会有两个诉求&#xff1a;一是如何更快的读取文件内容&#xff1b;二…

ATECLOUD二极管测试系统可以解决反向电流测试哪些痛点?

二极管具有单向导电性&#xff0c;但是有时候也会出现反向电流的情况。当反向电流变得很大时&#xff0c;二极管性能和寿命会受到很大影响。通过二极管测试系统对反向电流进行测试可以评估其性能和稳定性。 反向电流测试的重要性 理想情况下反向电流非常小&#xff0c;甚至可以…

2021年电工杯数学建模A题高铁牵引供电系统运行数据分析及等值建模求解全过程论文及程序

2021年电工杯数学建模 A题 高铁牵引供电系统运行数据分析及等值建模 原题再现&#xff1a; 我国是世界上电气化铁路运营里程最长、服役电力机车型号最多、运营最繁忙的国家。截至 2020 年底&#xff0c;我国铁路年消耗电量约 800 亿千瓦时&#xff0c;约占三峡年总发电量的 8…

Java实现添加文字水印、图片水印功能实战

java实现给图片添加水印实现步骤&#xff1a; 获取原图片对象信息&#xff08;本地图片或网络图片&#xff09; 添加水印&#xff08;设置水印颜色、字体、坐标等&#xff09; 处理输出目标图片 java实现给图片添加文字水印 获取原图片对象信息 第一步&#xff1a;获取需要…