reverse-linked-list-ii反转链表

STorM BGC V1.31硬件+SimpleBGC固件:从零搭建三轴云台开发环境(Keil+JLink避坑指南) 本文详细介绍了如何从零搭建STorM BGC V1.31硬件+SimpleBGC固件的三轴云台开发环境,涵盖硬件连接、Keil+JLink开发工具配置、固件编译与烧录等关键步骤,并提供了常见问题的解决方案和调试技巧,帮助开发者快速上手三轴云台开发。 阅读详情

题目描述:

将一个链表m位置到n位置之间的区间反转,要求使用原地算法,并且在一次扫描之内完成反转。

例如:

给出的链表为1->2->3->4->5->NULL, m = 2 ,n = 4,

返回1->4->3->2->5->NULL.

注意:

给出的m,n满足以下条件:

1 ≤ m ≤ n ≤ 链表长度

解题思路:

1、可将链表分成三部分,m之前,m-n,n之后;

2、m-n这一部分进行反转;

3、将三部分连接起来;

难点是第二步,如何反转?

需要用三个指针,

p指向当前node,pre表示当前node的前一个node,next表示当前node的下一个。

 

 

public class Solution {
    public ListNode reverseBetween(ListNode head, int m, int n) {
        if(head == null || head.next == null)
            return head;
        ListNode q = null;
        ListNode p = head;
        //q指向第m-1个node,即第一部分的end,p指向第m个位置,即第二部分的end
        for(int i =0 ; i < m-1 ; i++){
            q = p;
            p = p.next;
        }
        ListNode end1 = q;
        ListNode end2 = p;
        ListNode pPre = p;
        p = p.next;
        ListNode pNext = null;
        //第m到第n个反转
        for(int i = m ; i < n ; i++){
            pNext = p.next;
            p.next = pPre;
            pPre = p;
            p = pNext;
        }
        ListNode start2 = pPre;
        ListNode start3 = p;
        end2.next = start3;
        if(end1 != null)
            end1.next = start2;
        else
            head = start2;
        return head;
    }

 

深入浅出卡尔曼滤波器算法 深入浅出讲解卡尔曼滤波器的工作原理及其公式推导,讨论卡尔曼滤波器的核心公式所代表的意义及个人的理解。 阅读详情

相关推荐

雷达原理习题答案【西电】

  目前教材用的是陈老师新版的,但是,我发现课后题有一部分是之前某本书里的。答案如下【建议参看原题→查阅答案】 【原题点这里!!点这里!!】 目录跳转功能目前好像只支持网页版 文章目录% 第一章、第二章% 第三章% 第四章% 第五章% 第六章% 第七章% 第八章 % 第一章、第二章 % 第三章 % 第四章 % 第五章 % 第六章 % 第七章 % 第八章 ...

薛定谔的壳的博客 1万+

算法:翻转链表 Reverse Linked List 三种方法实现,迭代解决人类思维,递归解决机器思维 reverse node

题目 206. Reverse Linked List Reverse a singly linked list. Example: Input: 1->2->3->4->5->NULL Output: 5->4->3->2->1->NULL Follow up: A linked list can be reversed either iteratively or recursively. Could you implement both? 自

AI架构师易筋 1048

Qt开发中彻底解决中文乱码问题

中文乱码问题主要源于编码不一致需要同时设置控制台和Qt应用程序的编码确保项目文件和环境配置的编码一致文件操作时注意指定正确的编码。

qq_53832058的博客 3403

Reverse Linked List

Reverse Linked List 做链表前,一定要分清楚p,p->next 所代表的含义 Leecode链接:https://leetcode.com/problems/reverse-linked-list/ 思路: 建立3三个指针,分别指向当前结点,前一结点,后一结点。 然后对指针进行移位操作。 这里给出一个网上较好的题解,由五分钟算法网站提供:https://www.cxyxiaowu.com/2260.html 下面是注释代码: 非递归实现 /** * Definition for

JUST__Tw的博客 260

CMOS sensor 基础

NA

m0_72053187的博客 1657

LAMMPS实操系列(一): 大量FCC-CoCrCuFeNi高熵合金建模与最稳定结构筛选

高熵合金(High-entropy alloys,HEA),是由五种或五种以上等量或大约等量金属形成的合金。由于高熵合金可能具有许多优秀的物理化学性质,因此在材料科学领域受到广泛关注

Ceshigo_CD的博客 3257

算法系列——反转链表(Reverse Linked List)

题目描述 Given an array of integers, find out whether there are two distinct indices i and j in the array such that the absolute difference between nums[i] and nums[j] is at most t and the absol

BridgeGeorge 695

VC Spyglass调试秘籍:从Lint报错到代码修复的完整工作流

本文详细介绍了VC Spyglass调试的完整工作流,重点解析了如何高效定位和修复Lint检查中常见的XMRE-L跨模块引用错误。通过对比GUI与命令行(vc_static_shell)双模式调试技巧,并结合TCL脚本实现批量处理与规则豁免,帮助数字设计工程师系统化地提升代码调试效率与质量。

weixin_29246195的博客 575

LeetCode---reverse-linked-list-ii(一段区间内的链表逆序)

题目描述 Reverse a linked list from positionmton. Do it in-place and in one-pass. For example: Given1->2->3->4->5->NULL,m= 2 andn= 4, return1->4->3->2->5->NULL. No...

夏洛克福尔摩斯 532

FT601Q芯片深度解析:从USB3.0引脚定义到FPGA FIFO协议实战选型

本文深入解析FT601Q芯片在USB3.0接口设计与FPGA协议栈开发中的应用,详细介绍了USB3.0引脚定义、FT601Q芯片架构、245同步FIFO模式及硬件设计要点,帮助工程师实现高速数据传输系统。

weixin_30607659的博客 446

Joule 终于会说 ABAP 了:从 ADT 提效到 ABAP AI SDK + ISLM 自建企业级 AI 场景的落地路线

生成结构化摘要(故障现象、初步原因、处理动作、备件消耗)自动给出建议分类(电气、机械、软件、网络)把摘要回写到工单抬头,方便后续统计与知识沉淀如果你用 CAP 来做这类服务,通常会在 Node.js 层封装一个对 AI Hub 的调用,再通过 OData 或 Event 把结果写回 SAP。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 341

LeetCode-206 reverse-linked-list 反转链表

题目链接 reverse-linked-list 题意 中文题,反转链表,给出链表头,要求输出一个链表头,oj会遍历以判定是否反转。 题解         简单的方法是迭代,然后反向输出。或者说利用额外空间储存遍历链表的数据,然后在构造一个链表头,反向输出额外空间储存数据来创建一个新链表。但是链表的遍历本来就是利用指针指向一层一层向下遍历,并且是反向输出,很自然能想到利用递归的方法。在回...

iwts 377

RT-DETR改进策略【Neck】| GFPN 超越BiFPN 通过跳层连接和跨尺度连接改进RT-DETR颈部网络

本文记录的是利用颈部结构优化RT-DETR的目标检测网络模型。利用改进后的颈部网络,通过跳层连接,避免了在进行反向传播时的梯度消失问题,并且引入跨尺度连接,可以实现不同级别和层次的特征充分融合,获取足够的高层语义信息和低层空间信息交换,从而在大规模变化场景下提高检测性能。GIRAFFEDET: A HEAVY-NECK PARADIGM FOR OBJECT DETECTION-GFPN包含了上述的跳层连接(dense-link和log2nlog _{2} nlog2​n-link)以及跨尺度连接(Quee

Limiiiing的博客 2228

[leetcode] Reverse Linked List II 链表反转

Leetcode上关于链表反转有2题,分别是https://leetcode.com/problems/reverse-linked-list/ 和 https://leetcode.com/problems/reverse-linked-list-ii/ 第一题是反转整个链表,第二题是反转链表中位于[m,n]之间的部分。 首先简单说下原地反转整个链表的两种方法: 法一:【递归法】假设从i+

曲径通幽处 1088

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

leetcode-92 Reverse Linked List II(反转链表II)

循序渐进完成递归算法

不思量 413

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Leetcode Reverse Linked List II 反转部分单向链表

题目: Reverse a linked list from position m to n. Do it in-place and in one-pass. For example: Given 1->2->3->4->5->NULL, m = 2 and n = 4, return 1->4->3->2->5->NULL. 分析: 1. 链表

fight to dead的博客 419

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

92. Reverse Linked List II 反转链表 II

网址:https://leetcode.com/problems/reverse-linked-list-ii/ 核心部分:通过a、b、c三个变量之间的相互更新,不断反转部分链表 然后将反转部分左右两端接上! 当测试数据 m 为 1 时,原始代码行不通。 故我们在原head前加一个fake_h节点,在函数部分将m++,n++,最后return fake_h->next 注意判断he...

weixin_33827965的博客 105

链表反转2(Reverse Linked List II)

一、学习要点: 0.流程简述: 1->2->3->4->5->null 1-> 3->2->4->5->null 1-> 4->3->2->5->null 由此我们可以看出来,总共需要n-m步即可,第一步是将节点3放到节点1的后面,第二步将节点四放到节点1的后面。很有规律的操作,刚开始,pre指向结点1,c...

爱编程的小屁孩的博客 865

LeetCode 92.Reverse Linked List II 反转链表 II

题目描述 反转从位置 m 到 n 的链表。请使用一趟扫描完成反转。 说明: 1 ≤ m ≤ n ≤ 链表长度。 示例: 输入: 1->2->3->4->5->NULL, m = 2, n = 4 输出: 1->4->3->2->5->NULL 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/probl...

it-hao的博客 247

92.反转链表 II (Reverse Linked List II)- 中等

反转链表 II (Reverse Linked List II)题目描述解题方法递归法迭代法方法一:穿针引线方法二:一次遍历「穿针引线」(头插法) 题目描述 Given the head of a singly linked list and two integers left and right where left <= right, reverse the nodes of the list from position left to position right, and return the

m0_62024778的博客 174

[LeetCode]90. Reverse Linked List II链表局部反转

Reverse a linked list from positionmton. Do it in-place and in one-pass. For example:Given1->2->3->4->5->NULL,m= 2 andn= 4, return1->4->3->2->5->NULL. No...

diaobi8410的博客 290

Leetcode92. Reverse Linked List II反转链表

反转从位置 m 到 n 的链表。请使用一趟扫描完成反转。 说明: 1 ≤ m ≤ n ≤ 链表长度。 示例: 输入: 1-&gt;2-&gt;3-&gt;4-&gt;5-&gt;NULL, m = 2, n = 4 输出: 1-&gt;4-&gt;3-&gt;2-&gt;5-&gt;NULL   把从m到n的反转, 然后再接上去。 class Solution { ...

lMonster81 176

Leetcode Reverse Linked List II 反转特定区间的链表

这样的题目关键是不要怕麻烦,一定要画多几个链表图,一步一步演算,这样思路就很清晰了。 通过头痛折磨的训练之后,这些题目不用调试,一次性AC。

靖空间 5272

Leetcode 92.反转链表 II( Reverse Linked List II)

Leetcode 92.反转链表 II 1 题目描述(Leetcode题目链接)   反转从位置 m 到 n 的链表。请使用一趟扫描完成反转。 说明: 1 ≤ m ≤ n ≤ 链表长度。 输入: 1->2->3->4->5->NULL, m = 2, n = 4 输出: 1->4->3->2->5->NULL 2 题解   反转链表,相...

qq_39378221的博客 173

LeetCode 92. 反转链表 II(Reverse Linked List II)

92. 反转链表 II 92. Reverse Linked List II 题目描述 反转从位置 m 到 n 的链表。请使用一趟扫描完成反转。 说明: 1 ≤ m ≤ n ≤ 链表长度。 LeetCode92. Reverse Linked List II中等 示例: 输入: 1->2->3->4->5->NULL, m = 2, n = 4 输出: 1->4...

weixin_30629653的博客 219

LeetCode 92. 反转链表 II(Reverse Linked List)

LeetCode.jpg 92. 反转链表 II 反转从位置 m 到 n 的链表。请使用一趟扫描完成反转。 说明: 1 ≤ m ≤ n ≤ 链表长度。 示例: 输入: 1->2->3->4->5->NULL, m = 2, n = 4 输出: 1->4->3->2->5->NULL 切题 一、Clarificatio...

墨1024 243
上一篇: 判断链表有没有环
下一篇: 合并链表
PMPWDF
博客等级 码龄10年 44粉丝 118原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值