题解 | #链表内指定区间反转#

链表内指定区间反转

https://www.nowcoder.com/practice/b58434e200a648c589ca2063f1faf58c

2022.08.05算法第二题
反转指定区间的链表——抽书法
抽书法:每次将当前节点的下一个节点放到最上方,依次循环能够将顺序反转。
需要虚拟头节点dummy
当前节点cur
前一个结点pre(这个节点不会变)
下一个节点temp
每次更新当前节点,最终将链表区间反转
将m-n区间内的链表反转。
首先将当前节点指向链表中的第m个节点,pre为前一个结点,temp为后一个节点。使用for循环,循环m-1次。
之后进行抽书循环,循环n-m次
temp=cur->next;
cur->next=temp->next;
temp->next=pre->next;
pre->next=temp;
以上循环从后到前,依次进行更新,顺序很重要不能颠倒,否则指向关系就会错乱。
每次进行赋值都是改变节点的原有指向,要确保顺序(从后往前)。
循环结束后得到结果




#算法题#
全部评论

相关推荐

10-15 15:00
潍坊学院 golang
跨考小白:这又不是官方
投递拼多多集团-PDD等公司10个岗位
点赞 评论 收藏
分享
10-11 15:42
皖西学院 Java
青鱼LINK:我硕士,也是java0面试,吾道不孤
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务