LeetCode(59)反转链表 II【链表】【中等】

在这里插入图片描述

目录

    • 1.题目
    • 2.答案
    • 3.提交结果截图

链接: 反转链表 II

1.题目

给你单链表的头指针 head 和两个整数 leftright ,其中 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

进阶: 你可以使用一趟扫描完成反转吗?


2.答案

/**
 * 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 static ListNode reverseBetween(ListNode head, int left, int right) {
        if (left == right) {
            return head;
        }
        ListNode node = head;
        int index = 1;
        ListNode beforeLeftNode = null;
        ListNode leftNode = null;
        ListNode rightNode = null;
        ListNode afterRightNode = null;
        ListNode beforeNode = null;
        while (node != null) {
            if (index == left) {
                beforeLeftNode = beforeNode;
                leftNode = node;
                beforeNode = node;
                node = node.next;
            } else if (index > left && index < right) {
                ListNode afterNode = node.next;
                node.next = beforeNode;
                beforeNode = node;
                node = afterNode;
            } else if (index == right) {
                afterRightNode = node.next;
                rightNode = node;
                rightNode.next = beforeNode;
                break;
            } else {
                beforeNode = node;
                node = node.next;
            }
            index++;
        }
        if (beforeLeftNode != null) {
            beforeLeftNode.next = rightNode;
        } else {
            head = rightNode;
        }
        assert leftNode != null;
        leftNode.next = afterRightNode;
        return head;
    }
}

3.提交结果截图

在这里插入图片描述

整理完毕,完结撒花~ 🌻

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【为什么POI的SXSSFWorkbook占用内存更小?】

&#x1f513;为什么POI的SXSSFWorkbook占用内存更小&#xff1f; &#x1f3c6;POI的SXSSFWorkbook&#x1f3c6;POI的SXSSFWorkbook占用内存&#x1f3c6;扩展配置行缓存限制 &#x1f3c6;POI的SXSSFWorkbook SXSSFWorkbook类是Apache POI库的一部分&#xff0c;它是一个流…

第五节JavaScript typeof、类型转换与正则表达式

一、typeof、null和undefined 1、typeof操作符 使用typeof操作符来检测变量的数据类型。 实例&#xff1a; <!DOCTYPE html> <html><head><meta charset"utf-8"><title>JavaScript基础知识学习</title></head><bod…

单元测试二(实验)-云计算2023.12-云南农业大学

1、实践系列课《深入浅出Docker应用》 https://developeraliyun.com/adc/scenarioSeries/713c370e605e4f1fa7be903b80a53556?spma2c6h.27088027.devcloud-scenarioSeriesList.13.5bb75b8aZHOM2w 容器镜像的制作实验要求 创建Dockerfile文件: FROM ubuntu:latest WORKDIR data…

C++初阶(十六)优先级队列

&#x1f4d8;北尘_&#xff1a;个人主页 &#x1f30e;个人专栏:《Linux操作系统》《经典算法试题 》《C》 《数据结构与算法》 ☀️走在路上&#xff0c;不忘来时的初心 文章目录 一、priority_queue的介绍和使用1、priority_queue的介绍2、priority_queue的使用 二、priori…

高性能国产TYPE-C/DP/EDP转MIPIDSI/CSI/LVDS,龙迅LT7911D,支持高达4K60HZ的分辨率

LT7911D概述&#xff1a; T7911D是一款高性能TYPE-C/DP/EDP转2 PORT MIPI或者LVDS的芯片&#xff0c;目前主要在AR/VR或者显示器上应用的很多&#xff0c;对于DP1.2输入&#xff0c;LT7911D可配置为1/2/4车道。自适应均衡化使其适用于长电缆应用&#xff0c;最大带宽可达21.6G…

【AntDB数据库】亚信安慧通过CMMI5级认证

近日&#xff0c;湖南亚信安慧科技有限公司&#xff08;以下简称“亚信安慧”&#xff09;通过CMMI5级认证。这标志着亚信安慧在软件研发能力、过程组织能力、项目管理能力、解决方案交付能力等方面达到了国际先进水平&#xff0c;具备为通信、金融、交通、能源、物联网等行业客…

图片如何无损放大?亲测三款好用图片无损放大工具

图片如何无损放大&#xff1f;当遇到图片不清晰或模糊受损的情况时&#xff0c;我们往往希望能够使用这张图片。然而&#xff0c;图片的模糊问题往往令人困扰。幸运的是&#xff0c;我们可以使用一些方法将图片无损放大&#xff0c;从而解决照片模糊的问题。今天&#xff0c;我…

开源云原生网关Linux Traefik本地部署结合内网穿透远程访问

文章目录 前言1. Docker 部署 Trfɪk2. 本地访问traefik测试3. Linux 安装cpolar4. 配置Traefik公网访问地址5. 公网远程访问Traefik6. 固定Traefik公网地址 前言 Trfɪk 是一个云原生的新型的 HTTP 反向代理、负载均衡软件&#xff0c;能轻易的部署微服务。它支持多种后端 (D…

实验01:静态路由配置实验

1.实验目的&#xff1a; 本次实验的主要目的是了解静态路由的配置和实现原理&#xff0c;熟悉路由器的基本操作&#xff0c;掌握在网络中进行静态路由配置的方法和技巧。 2.实验内容&#xff1a; 搭建网络拓扑&#xff0c;包括三台路由器和两台PC。配置路由器的IP地址和路由…

深入理解C语言的函数参数

1、一个简单的函数 int Add(int x, int y) {return x y; }int main() {printf("%d", Add(2, 3, 4, 5, 6));return 0; } 这一段足够简单的代码&#xff0c;闭眼都能知道运行结果会在屏幕上打印 5 。那编译器是怎么处理后面的 4、5、6 &#xff1f; 我们再看看这个函…

【Spring教程28】Spring框架实战:从零开始学习SpringMVC 之 请求与请求参数详解

目录 1 设置请求映射路径1.1 环境准备 1.2 问题分析1.3 设置映射路径 2 请求参数2.1 环境准备2.2 参数传递2.2.1 GET发送单个参数2.2.2 GET发送多个参数2.2.3 GET请求中文乱码2.2.4 POST发送参数2.2.5 POST请求中文乱码 欢迎大家回到《Java教程之Spring30天快速入门》&#xff…

Vue3-17-ref 模板引用的基本使用

什么是模板引用 简单来说&#xff0c;就是在 js 代码中 获取到 html 中的dom元素的完整信息&#xff0c; 从而实现直接操作dom元素的效果。模板引用的语法 1、给 dom 元素添加 ref名称 属性&#xff0c;指定一个独有的名称&#xff1b; 2、js 中 声明一个 与 dom 元素的 ref 同…

华为海思、燧原、海光等齐力打破封锁,谁主AI芯片江山| 百能云芯

近期&#xff0c;美国对英伟达出口进行了限制&#xff0c;导致英伟达无法向中国大陆销售AI芯片&#xff0c;这一局势催生了中国本土IC设计企业的崛起&#xff0c;包括华为旗下的海思科技、腾讯旗下的燧原科技&#xff0c;以及海光信息和新创公司天数智芯等纷纷抢占市场。 据百能…

【问题解决】unable to do port forwarding: socat not found

问题复现 前阵子应公司要求做华为云平台的调研&#xff0c;写了一篇文档包含将华为云CCE下载kuberctl配置及使用kubectl转发流量到本地的操作。 今天一早上同事就发来一个错误界面&#xff0c;说是Java远程调试转发过来的端口出现问题&#xff0c;如下图&#xff1a; 处理思路…

wgcloud访问页面如何加前缀/wgcloud

nginx配置实现加/wgcloud - WGCLOUD

Linux:ELF

文章目录 前置知识从文本文件到可执行文件经历的阶段编译器gcc目标文件 ELFSection&#xff08;节&#xff09;Segment&#xff08;段&#xff09;从链接角度和从程序角度看ELF文件1. Section Header Table:2. Program Header Table: 参考 前置知识 从文本文件到可执行文件经历…

树莓派zero w入坑指南

树莓派zero w入坑指南 入坑契机 说起创客不得不提到开源硬件Raspberry Pi(树莓派)。它是一款基于ARM的微型电脑主板&#xff0c;以MicroSD卡为硬盘&#xff0c;提供HDMI和USB等外部接口&#xff0c;可连接显示器和键鼠。以上部件全部整合在一张仅比信用卡稍大的主板上&#x…

jvm阶段小节

文章目录 静态变量与局部变量的对比&#xff1a; 我们知道类变量有两次初始化的机会&#xff0c;第一次是在“准备阶段”&#xff08;链接&#xff09;&#xff0c;执行系统初始化&#xff0c;对类变量设置默认值&#xff0c;另一次则是在“初始化”阶段&#xff0c;赋予程序员…

Postman测试 restful 接口!

日常开发中经常会遇到没有前提界面&#xff0c;直接调用后台 restful 接口的情景&#xff0c;不管时后台代码先行&#xff0c;并且开发完之后开发人员进行自测还是&#xff0c;或者是专业测试进行 restful 接口测试&#xff0c;都需要一款工具&#xff0c;现在就来介绍 postman…

如何在本地搭建Oracle数据库并实现无公网ip通过PLSQL工具远程连接数据库

文章目录 前言1. 数据库搭建2. 内网穿透2.1 安装cpolar内网穿透2.2 创建隧道映射 3. 公网远程访问4. 配置固定TCP端口地址4.1 保留一个固定的公网TCP端口地址4.2 配置固定公网TCP端口地址4.3 测试使用固定TCP端口地址远程Oracle 正文开始前给大家推荐个网站&#xff0c;前些天发…
最新文章