LeetCode【92】翻转链表II

题目:
在这里插入图片描述

思路:
https://blog.csdn.net/DarkAndGrey/article/details/122146216

public ListNode reverseBetween(ListNode head, int left, int right) {if(head == null || right == left){return head;// 头节点为null,链表为空,反转链表没有意义(没有节点给你反转)// right == left ,反转一个节点,等于没反转。也没有反转的意义// 直接返回 head}ListNode newHead = new ListNode(0,head);ListNode prev = newHead;for(int i = 0; i < left - 1; i++){prev = prev.next;if(prev == null){// 防止空指针异常,另外防止 left 位置不合法(链表节点没有那么多)return head;}}ListNode rightNode = prev.next;for(int i = 0;i < right - left;i++){rightNode = rightNode.next;if(rightNode == null){//防止空指针异常,另外防止 right 位置不合法(链表节点没有那么多)return head;}}ListNode rightNodeNext = rightNode.next;ListNode[] reverse = myReverse(prev.next,rightNode);prev.next = reverse[0];rightNode = reverse[1];rightNode.next = rightNodeNext;return newHead.next;}public static ListNode[] myReverse(ListNode left,ListNode right){ListNode prev = right.next;ListNode p = left;while( prev != right){ListNode pNext = p.next;p.next = prev;prev = p;p = pNext;}return new ListNode[]{right,left};}

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

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

相关文章

高通lk阶段配置GPIO初始化

目录 GPIO配置函数gpio_tlmm_config GPIO配置函数头文件定义 代码参数详细解析 举个列子 GPIO配置函数gpio_tlmm_config authordaisy.skye的博客_CSDN博客-嵌入式,Qt,Linux领域博主 代码路径 bootable/bootloader/lk/platform/msm8953/gpio.c void gpio_tlmm_config(uint32_t…

微服务学习|Nacos配置管理:统一配置管理、配置热更新、配置共享、搭建Nacos集群

统一配置管理 在微服务当中&#xff0c;提供一个配置中心来将一些配置提取出来&#xff0c;进行统一的使用&#xff0c;Nacos既可以充当注册中心&#xff0c;也提供配置中心的功能。 1.在Nacos中添加配置文件 在Nacos控制台&#xff0c;我们可以在配置管理中&#xff0c;添加…

【latex】公式推导等号对齐

使用aligned进行多行公式对齐&#xff0c;&作为对齐的节点&#xff0c;\作为公式换行 \begin{equation} \begin{aligned}a& bc \\& cd \end{aligned} \end{equation}

echarts 中如何添加左右滚动条 数据如何进行堆叠如何配置那些数据使用那个数据轴

左右滚动条的效果 此项的具体配置可参考 https://echarts.apache.org/zh/option.html#dataZoom-inside.moveOnMouseWheel dataZoom: [{id: dataZoomX,type: inside,// start: 0,// end: this.xAxis.length > 5 ? 10 : 100,startValue: this.xAxis.length > 5 ? 5 : 0,/…

新版mmdetection3d将3D bbox绘制到图像

环境信息 使用 python mmdet3d/utils/collect_env.py收集环境信息 sys.platform: linux Python: 3.7.12 | packaged by conda-forge | (default, Oct 26 2021, 06:08:21) [GCC 9.4.0] CUDA available: True numpy_random_seed: 2147483648 GPU 0,1: NVIDIA GeForce RTX 3090 …

map与set的封装

目录 红黑树的结点 与 红黑树的迭代器 红黑树的实现&#xff1a; 迭代器&#xff1a; ​编辑 红黑树的查找&#xff1a; 红黑树的插入&#xff1a; ​编辑 检查红色结点&#xff1a;​编辑红黑树的左旋 ​编辑红黑树的右旋 ​编辑红黑树的双旋 Map的封装 ​编辑set的…

Docker命令 常用中间件运维部署,方便构建自己服务

Tips&#xff1a;记录了如何安装不同中间件的Docker命令&#xff0c;帮助大家更方便的搭建自己服务&#xff0c;会不定期更新。 MySQL # Mysql 5版本&#xff1a; docker run -d -p 3306:3306 --privilegedtrue \ -v /itholmes/mysql/log:/var/log/mysql \ -v /itholmes/mysql…

【数据结构&C++】超详细一文带小白轻松全面理解 [ 二叉平衡搜索树-AVL树 ]—— [从零实现&逐过程分析&代码演示简练易懂]

前言 大家好吖&#xff0c;欢迎来到 YY 滴C系列 &#xff0c;热烈欢迎&#xff01; 本章主要内容面向接触过C的老铁 主要内容含&#xff1a; 欢迎订阅 YY滴C专栏&#xff01;更多干货持续更新&#xff01;以下是传送门&#xff01; 目录 一.AVL树的概念二.AVL树节点的定义(代码…

Android自动化测试,5个必备的测试框架

Appium Appium是一个开源的移动测试工具&#xff0c;支持iOS和Android&#xff0c;它可以用来测试任何类型的移动应用&#xff08;原生、网络和混合&#xff09;。作为一个跨平台的工具&#xff0c;你可以在不同的平台上运行相同的测试。为了实现跨平台的功能&#xff0c;Appi…

linux高级篇基础理论五(用户安全,口令设置,JR暴力破解用户密码,NMAP端口扫描)

♥️作者&#xff1a;小刘在C站 ♥️个人主页&#xff1a; 小刘主页 ♥️不能因为人生的道路坎坷,就使自己的身躯变得弯曲;不能因为生活的历程漫长,就使求索的 脚步迟缓。 ♥️学习两年总结出的运维经验&#xff0c;以及思科模拟器全套网络实验教程。专栏&#xff1a;云计算技…

linux中利用fork复制进程,printf隐藏的缓冲区,写时拷贝技术,进程的逻辑地址与物理地址

1.prinf隐藏的缓冲区 1.思考:为什么会有缓冲区的存在? 2.演示及思考? 1).演示缓存区没有存在感 那为什么我们感觉不到缓冲区的存在呢?我们要打印东西直接就打印了呢? 我们用代码演示一下: 比如打开一个main.c,输入内容如下: #include <stdio.h>int main(){printf…

使用vs查看虚函数内存分布

class D size(16):---0 | --- (base class Base)0 | | {vfptr}8 | | num| | <alignment member> (size4)| ------D::$vftable:| &D_meta| 00 | &D::funD::fun this adjustor: 0虚函数其左侧的 0 表示的是虚函数的序号&#xff0c;并不是和上…

Vue 3.0 中重置 reactive 定义的响应式对象数据,恢复为初始值

Vue 3.0 中如何重置 reactive 定义的数据&#xff0c;恢复为初始值&#xff1f; - 知乎 1、直接挨个重置数据&#xff08;不适用对象中有多个属性&#xff0c;比较繁琐&#xff09; import { reactive } from vueconst state reactive({count: 0,name: John })// 重置数据&a…

知云文献翻译——外语论文你get了吗?

今天博主分享一款实用的翻译软件&#xff0c;希望对大家日后的学习有所帮助。这个翻译网站&#xff0c;主要做文档翻译&#xff0c;可以上传PDF、Word、Excel这些格式&#xff0c;翻译语言也比较齐全。操作简单&#xff0c;功能多样的翻译软件;知云文献翻译最新版可以直接对PDF…

Linux:详解(yum的使用、vim编辑器命令集合以及gcc/g++编译器的使用)

Linux 软件包管理器 yum 什么是软件包&#xff1a; 在Linux下安装软件, 一个通常的办法是下载到程序的源代码, 并进行编译, 得到可执行程序. 但是这样太麻烦了, 于是有些人把一些常用的软件提前编译好, 做成软件包(可以理解成windows上的安装程序)放在一个服务器上, 通…

平衡二叉树c语言版

一、定义二叉树结点结构体 /*** 定义平衡二叉树结点 */ struct avlbinarytree { //数据域NodeData* data;///树高int h;struct avlbinarytree* left;struct avlbinarytree* right; }; typedef struct avlbinarytree AVLNode; 二、声明函数的操作 /*** 创建结点 */ AV…

[解决] 问题:ImportError: cannot import name ‘Callable‘ from ‘collections‘

问题 我在运行yolov8的代码时&#xff0c;出现了ImportError: cannot import name Callable from collections的错误 原因 版本问题:以下collections的方法都在Python3.10版本后被取消了 ["Awaitable", "Coroutine", "AsyncIterable", "A…

2023亚太地区数学建模竞赛A题B题C题思路+模型+代码

目录 2023亚太地区数学建模A题思路&#xff1a;开赛后第一时间更新&#xff0c;获取见文末名片 2023亚太地区数学建模B题思路&#xff1a;开赛后第一时间更新&#xff0c;获取见文末名片 2023亚太地区数学建模C题思路&#xff1a;开赛后第一时间更新&#xff0c;获取见文末名…

Web(5)Burpsuite之文件上传漏洞

1.搭建网站&#xff1a;为网站设置没有用过的端口号 2.中国蚁剑软件的使用 通过一句话木马获得权限 3.形象的比喻&#xff08;风筝&#xff09; 4.实验操作 参考文章&#xff1a; 文件上传之黑名单绕过_文件上传黑名单绕过_pigzlfa的博客-CSDN博客 后端验证特性 与 Window…

发送注册连接到 FreeSWITCH 服务器的客户端

import socketdef send_register_request(username, password, server_ip, server_port):# 构建注册消息register_message (fREGISTER sip:{server_ip} SIP/2.0\r\nVia: SIP/2.0/UDP client;branchz9hG4bK776asdhds\r\nMax-Forwards: 70\r\nfFrom: <sip:{username}{server_…