c++之按序列反转链表
25-04-08 02:24
1034
0
int main() { ListNode *p0 = new ListNode(0); ListNode *p1 = new ListNode(1); ListNode *p2 = new ListNode(2); ListNode *p3 = new ListNode(3); ListNode *p4 = new ListNode(4); ListNode *p5 = new ListNode(5); ListNode *p6 = new ListNode(6); p1->next = p2; p2->next = p3; p3->next = p4; p4->next = p5; p5->next = p6; ListNode *head = Newnode(p1, 2, 5); while (head) { cout<<head->val; head = head->next; } return 0; } 这是一个链表的结构,那么根据我们这个主函数里面的显示的,也就说在这个函数里面啊,是newnoe。然后把这个函数传进。首先我们把列表传进去,然后根据特定的序列。来进行反转,比如我这里是P12到五,那么原本它应该是一个123456。然后经过我的反转之后,2~5进行了反转,也就是2.5就反了。然后1和6不变。来输出这个序列。 答案是154326 ListNode* revelnode(ListNode *head) { if (head == NULL) return NULL; ListNode *p = head->next; ListNode *q = head; q->next = nullptr; while (p) { head = p; p = p->next; head->next = q; q = head; } return head; } 那么如果要实现这个按位移按序列反转,首先就应该实现全反转,也就是说一个123456。输入进去,那么我们得到的结果应该是一个倒叙的654321。好的,第一步,把这个head传进去,那么这里的head它实际上就是反转之后的最后节点啊,首先两个指针P和Q,P的话是指向hi的下一个节点,Q是hi的节点,那这里的Q。 Q的下一个节点为空,也就是说这里是断开了。那么,本来它这个Q的下一个节点它是有节点的啊,然后这一步就把它的这个下一步的节点断开了啊,以便我们用来力学。然后,金着是关键的地方。然后,就是一个微的循环啊。首先,检查我们这个P节点,那么,我们的P节点如果只要它不为空的情况下,我们就会执行。当它为空的时候,代表我们的整个反转其实上已经完成了。然后hi=P,P=P的下一个节点啊,也就是说我们的head是现在的PP的话,然后移动到下一个节点。然后,Hi的下一个点等于Q啊,完成这个时,也就是刚才断开的时候,我们把这个断开的节点连接到现在的hi,就完成列句了。然后不断的重复这个过程。 最后把序列段全转后,与前后进行拼接操作 code: https://pan.quark.cn/s/3fb04303e5b3 |
-
带你一起实现 JSON.Stringify 方法
我在上一讲为你剖析了闭包这个难点,带你了解了作用域、闭包产生的原因及表现形式。那么这一讲,我们一起来手工实现一个 JSON.stringify ... 884 0 24-05-24 -
完整学习MC协议及优化client访问
异常错误响应接下来,我们来完整学习 Mc 协议。在学习 Mc 协议之前,首先来看看 Mc 处理协议指令,如果发现异常,如何进行异常错误响... 859 0 24-05-24 -
深入理解Android 卷I
近两年来,IT行业的最热点聚焦到了移动互联网上。PC时代,WINTEL联盟成就了英特尔和微软各自的霸业。移动互联网时代,谁将上演新的传奇?新... 877 0 24-05-28 -
免费ppt模板下载
网站除了ppt模板,还内含大量与PPT模板相关的素材和教程,比如现成的PPT图表、PPT特效、PPT制作相关教程等等。教程是以文字和动图结合的方式来展示的,易学性很高。 715 0 21-11-25 -
QR Code Generator - 二维码生成工具
QR Code Generator二维码生成器提供了各种可自定义的功能,用于生成二维码。用户可以调整颜色方案、图像大小、点数、角点样式,以及在二... 1094 0 25-01-14 -
学车预约小程序
随着机动车逐渐走进寻常百姓家中,学车也随之被人们提上了日程,这使得汽车驾驶培训行业得到迅猛发展。移动互联网技术的广泛应用,使手机约车... 836 0 24-10-31 -
资源素材解析系统网站源码
设计资源素材解析系统网站源码 支持N个平台教程在压缩包里面很详细。包括了网站设置与获取cookie等详细教程 442 0 21-07-05 -
class中函数的this指向
定义一个基础的类class Person { constructor(name = "杜恒") { this.name = name; } speak() { console.log(this); } }将... 676 0 25-04-07
发表我的评论
共0条评论
- 这篇文章还没有收到评论,赶紧来抢沙发吧~