【leetcode面试经典150题】61. 反转链表 II(C++)

news/2024/10/18 18:17:55/

leetcode面试经典150题】专栏系列将为准备暑期实习生以及秋招的同学们提高在面试时的经典面试算法题的思路和想法。本专栏将以一题多解和精简算法思路为主,题解使用C++语言。(若有使用其他语言的同学也可了解题解思路,本质上语法内容一致)

【题目描述】

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

【示例一】

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

【示例二】

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

【提示及数据范围】

  • 链表中节点数目为 n
  • 1 <= n <= 500
  • -500 <= Node.val <= 500
  • 1 <= left <= right <= n

【代码】

// 一次遍历+头插法class Solution {
public:ListNode *reverseBetween(ListNode *head, int left, int right) {// 设置 dummyNode 是这一类问题的一般做法ListNode *dummyNode = new ListNode(-1);dummyNode->next = head;ListNode *pre = dummyNode;for (int i = 0; i < left - 1; i++) {pre = pre->next;}ListNode *cur = pre->next;ListNode *next;for (int i = 0; i < right - left; i++) {next = cur->next;cur->next = next->next;next->next = pre->next;pre->next = next;}return dummyNode->next;}
};

http://www.ppmy.cn/news/1425349.html

相关文章

20240418金融读报:银行参考汇丰全球化布局银行全球化布局现有路径再读金融助力新型工业化

1、银行全球化布局参考汇丰中国市场开拓思路&#xff08;时光机效应&#xff09;&#xff1a;&#xff08;1&#xff09;找对外开放的国家并利用我国现搭建的网络&#xff0c;比如一带一路沿线&#xff08;2&#xff09;找经济向好的国家&#xff08;3&#xff09;投资倾向于全…

js预编译原理

预编译&#xff08;Hoisting&#xff09;是指在代码执行之前&#xff0c;JavaScript 引擎会将变量和函数的声明提升到当前作用域的顶部。 这意味着在代码中&#xff0c;变量和函数的声明可能在实际代码执行之前 已经被处理了。(提升优先级&#xff1a;函数>变量) 变量提升…

实时数据同步之Maxwell和Canal

文章目录 一、概述1、实时同步工具概述1.1 Maxwell 概述1.2 Canal概述 2、数据同步工作原理2.1 MySQL 主从复制过程2.2 两种工具工作原理 3、MySQL 的 binlog详解3.1 什么是 binlog3.2 binlog 的开启3.3 binlog 的分类设置 4、Maxwell和Canal对比5、环境安装 二、Maxwell 使用1…

MinIO + Prometheus + Grafana docker部署

文章目录 说明MinIO简介MinIO 容器化部署Prometheus服务地址配置方法一&#xff1a;先部署后修改方法二&#xff1a;部署时修改compose文件&#xff08;未验证&#xff09; MinIO Access Key配置Prometheus 容器化部署MinIO 生成抓取配置修改Prometheus配置文件Grafana 容器化部…

react经验12:等待状态更新

应用场景: 等待react组件内的state发生变更后进行后续操作。 已知问题 通常state的变化会引起dom的刷新&#xff0c;更新state一般使用setState&#xff0c;但这是个异步操作。 如果此时需要立即操作dom&#xff0c;得到的目标dom是刷新之前的样子。 应对方法 方法1:使用u…

lua的字符串和Table类型实现

字符串 实现在lstring.c中。 字符串类型TString定义如下&#xff1a; typedef union TString {L_Umaxalign dummy; /* ensures maximum alignment for strings */struct {CommonHeader;lu_byte reserved;unsigned int hash;size_t len;} tsv; } TString;字符串内容紧随其后&a…

手机三要素验证不一致的原因有哪些

在当前数字化时代&#xff0c;手机三要素验证已经成为众多业务场景中的关键环节&#xff0c;它是指通过专门的接口技术手段&#xff0c;核实用户提供的姓名、身份证号码及手机号码这三项关键信息的一致性&#xff0c;以确认用户身份的真实性。然而&#xff0c;在实际操作中&…

webAssembly学习及使用rust

学习理解 webAssembly 概念知识&#xff0c;使用 API 进行 web 前端开发。 概念 是一种运行在现代网络浏览器中的新型代码&#xff0c;并且提供新的性能特性和效果。它有一种紧凑的二进制格式&#xff0c;使其能够以接近原生性能的速度运行。C/C、 C#、Rust等语言可以编译为 …