面试经典-33-反转链表 II

题目

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

示例 1:
在这里插入图片描述

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

class Solution {public ListNode reverseBetween(ListNode head, int left, int right) {if (head == null || head.next == null) {return head;}ListNode dummy = new ListNode(0);dummy.next = head;int count = 0;ListNode p1 = dummy;ListNode cur = head;ListNode next = null;while (cur != null) {next = cur.next;count++;if (count == left - 1) {p1 = cur;} else if (count == right) {ListNode p2 = p1.next;cur.next = null;p1.next = null;reverse(p2);p2.next = next;p1.next = cur;break;}cur = next;}return dummy.next;}private void reverse(ListNode head){if (head == null || head.next == null) {return;}ListNode pre = null;ListNode cur = head;ListNode next = null;while(cur != null){next = cur.next;cur.next = pre;pre = cur;cur = next;}}
}

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

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

相关文章

【运维】PVE 自带监控显示问题处理

目录 问题描述 问题处理 问题描述 CPU和服务器负载显示为1970-01-01&#xff0c;无法正确显示当前监控 问题处理 使用如下命令 rm /var/lib/rrdcached/db/* -rf刷新网页显示如下

论文浅尝 | GPT-RE:基于大语言模型针对关系抽取的上下文学习

笔记整理&#xff1a;张廉臣&#xff0c;东南大学硕士&#xff0c;研究方向为自然语言处理、信息抽取 链接&#xff1a;https://arxiv.org/pdf/2305.02105.pdf 1、动机 在很多自然语言处理任务中&#xff0c;上下文学习的性能已经媲美甚至超过了全资源微调的方法。但是&#xf…

day10-SpringBootWeb案例-1

一、准备工作 1 需求&环境搭建 步骤&#xff1a; 准备数据库表(dept、emp)创建 springboot 工程&#xff0c;引入对应的起步依赖&#xff08;web、mybatis、mysql 驱动、lombok&#xff09;配置文件 application.properties 中引入 mybatis 的配置信息&#xff0c;准备对应…

【JAVA】JAVA方法的学习和创造

&#x1f308;个人主页: Aileen_0v0 &#x1f525;热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法|MySQL| ​&#x1f4ab;个人格言:“没有罗马,那就自己创造罗马~” 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不…

算法导论第十一章思考题参考答案(21)

Ploblem 11-1 a.从所有可能的索引中统一计算每个探针的索引。由于我们有 n≤m/2&#xff0c;我们知道在任何阶段至少有一半的指标是空的。因此&#xff0c;对于需要超过 k 个探针&#xff0c;我 们需要在每 k 个第一个探针中&#xff0c;我们探测到一个已经有一个入口的顶点&a…

柚见十三期(优化)

前端优化 加载匹配功能与加载骨架特效 骨架屏 : vant-skeleton index.vue中 /** * 加载数据 */ const loadData async () > { let userListData; loading.value true; //心动模式 if (isMatchMode.value){ const num 10;//推荐人数 userListData await myA…

软件应用,台球管理系统怎么收费,球房计时计费系统的安装方法,计时灯控器连接

软件应用&#xff0c;台球管理系统怎么收费&#xff0c;球房计时计费系统的安装方法&#xff0c;计时灯控器连接 一、前言 以下软件操作教程以 佳易王桌球计时计费管理系统软件V17.9为例说明 件文件下载可以点击最下方官网卡片——软件下载——试用版软件下载 1、软件的安装…

【Spring Boot】创建你的第一个 Spring Boot 应用

创建你的第一个 Spring Boot 应用 1.环境配置2.步骤详解3.项目结构分析3.1 入口类 DemoApplication3.2 控制器 PathVariableController3.3 控制器 BasicController3.4 模型 User 4.运行 Spring Boot 目前已经成为了 Java 开发领域的框架范式。本篇博客&#xff0c;我将带领大家…

Vision Pro的初体验

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

redis学习-redis介绍以及一些通用命令

目录 1.redis介绍 2.redis常用命令&#xff08;可以在官网的命令中查看redis的所有命令&#xff09; 2.1终端命令 2.2 redis通用命令 1.redis介绍 redis即远程字典服务&#xff0c;是当下最热门的NoSQL&#xff08;非关系型数据库&#xff09;技术之一&#xff0c;采用…

中文编程入门(Lua5.4.6中文版)第四章 Lua 循环

在游戏开发的奇幻世界中&#xff0c;循环机制就像一位执着的冒险者&#xff0c;在特定规则&#xff08;条件&#xff09;的指引下&#xff0c;会不断重复执行一系列精心设计的游戏动作。在 Lua 这款强大而灵活的游戏引擎中&#xff0c;我们有几种独特的“游戏回合”来实现这一规…

C++算法学习心得八.动态规划算法(4)

1.零钱兑换&#xff08;322题&#xff09; 题目描述&#xff1a; 给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额&#xff0c;返回 -1。 你可以认为每种硬币的数量是无限的。…

ArkTs的资源Resource类型怎么转为string

使用ResourceManager同步转换 请参看&#xff1a;ResourceManager.getStringSync9 例子&#xff1a; try { let testStr: string this.context.resourceManager.getStringSync($r(app.string.test).id); } catch (error) { console.error(getStringSync failed, error code…

@RequestParam、@PathVariable、@RequestBody

1、中文翻译 RequestParam-请求参数、PathVariable-路径变量、RequestBody请求体 2、作用&#xff1a; Controller中获取前端传递的参数 3、从注解本身角度分析 3.1、PathVariable&#xff1a;路径变量 通过 PathVariable 可以将URL中占位符参数{xxx}绑定到处理器类的方法形…

基于单片机的智能小车泊车系统设计

摘 要:随着信息技术的进步,汽车逐渐朝着安全、智能方向发展,智能泊车系统的出现不仅能帮助人们更加快速、安全地完成泊车操作,而且适用于狭小空间的泊车操作,降低驾驶员泊车负担,减轻泊车交通事故发生率。文章基于单片机设计自动泊车系统,以单片机为核心来实现信息收集及…

Java程序OOM自动生成.hprof堆文件并使用jvisualvm分析

Java程序OOM自动生成.hprof堆文件并使用jvisualvm分析 1.示例代码2.编译两份源代码3.带jvm参数启动当内存溢出后&#xff0c;命令会出现4.启动jvisualvm5.导入堆文件 1.示例代码 同目录下准备两个.java源文件 StudentOne.java public class StudentOne {private String id;pri…

【Python】成功解决NameError: name ‘cv2‘ is not defined

【Python】成功解决NameError: name ‘cv2’ is not defined &#x1f308; 个人主页&#xff1a;高斯小哥 &#x1f525; 高质量专栏&#xff1a;Matplotlib之旅&#xff1a;零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程&#x1f448; 希望得到您…

Rabbit MQ详解

写在前面,由于Rabbit MQ涉及的内容较多&#xff0c;赶在春招我个人先按照我认为重要的内容进行一定总结&#xff0c;也算是个学习笔记吧。主要参考官方文档、其他优秀文章、大模型问答。自己边学习边总结。后面有时间我会慢慢把所有内容补全&#xff0c;分享出来也是希望可以给…

ARM和AMD介绍

一、介绍 ARM 和 AMD 都是计算机领域中的知名公司&#xff0c;它们在不同方面具有重要的影响和地位。 ARM&#xff08;Advanced RISC Machine&#xff09;&#xff1a;ARM 公司是一家总部位于英国的公司&#xff0c;专注于设计低功耗、高性能的处理器架构。ARM 架构以其精简指…

20240313-2-search

search bfs 和 dfs的相关的题目 1. 全排列 题目: 给定一个数字列表&#xff0c;返回其所有可能的排列。 // premute(ans, nums, 0) void permute(vector<vector<int> > &ans, vector<int> &nums, int k){if(knums.size()-1){ans.push_back(nums);…