当前位置: 首页 > article >正文

力扣 中等 92.反转链表 II

文章目录

  • 题目介绍
  • 题解

题目介绍

在这里插入图片描述

题解

在这里插入图片描述

class Solution {
    public ListNode reverseBetween(ListNode head, int left, int right) {
        // 创建一个哑节点,它的 next 指向头节点,方便处理
        ListNode dummy = new ListNode(0, head);
        // p0 用于指向反转部分的前一个节点
        ListNode p0 = dummy;
        // 移动 p0 到反转部分的前一个节点
        for (int i = 0; i < left - 1; i++) {
            p0 = p0.next;
        }
        ListNode cur = p0.next, pre = null;
        // 执行反转
        for (int i = 0; i < right - left + 1; i++) {
            ListNode next = cur.next;
            cur.next = pre;
            pre = cur;
            cur = next;
        }
        // 反转完之后,cur 指向需要反转部分的下一个节点
        // pre指向需要反转部分的最后一个节点
        // 此时 p0.next 还和原来一样,指向未反转时需要反转的第一个节点
        p0.next.next = cur;
        p0.next = pre;
        // 返回哑节点的下一个节点,即头节点
        return dummy.next;
    }
}

http://www.kler.cn/a/323080.html

相关文章:

  • 超好用shell脚本NuShell mac安装
  • CentOS7.9 源码编译 FreeSWITCH 1.10.12
  • 部署Apache Doris
  • 关系型数据库和非关系型数据库详解
  • LinuxCentos中安装apache网站服务详细教程
  • Unity安装后点击登录没反应
  • Jmeter 配置元件-计数器时间变量
  • 深入探讨Java Agent动态监控与字节码操作的力量
  • llamafactory0.9.0微调qwen2vl
  • 面试经验分享
  • docker pull 不通?必须解决, 立刻马上,忍不了一点,没废话,直接用
  • LeetCode题练习与总结:搜索二维矩阵 Ⅱ--240
  • 使用ESPnet的 setup_anaconda.sh安装脚本一步到位,配置conda虚拟环境
  • Django 配置邮箱服务,实现发送信息到指定邮箱
  • Qt和Libtorch部署
  • 黑马智数Day4-1
  • Opencv第十一章——视频处理
  • 数据结构:二叉树(定义 特性 存储)
  • 开发提效的工具tabby快速入门
  • hrnet训练的pt模型结合目标检测进行关键点识别的更准确前向推理
  • PHP视频活体检测API接口示例-视频活体检测引领身份验证新潮流
  • mysql索引 -- 全文索引介绍(如何创建,使用),explain关键字
  • C#中NModbus4中常用的方法
  • 解决Mac 默认设置 wps不能双面打印的问题
  • DevExpress WPF中文教程:如何解决编辑单元格值的常见问题?
  • 1.6 物理层