单向链表逆序的功能(单链表的逆序算法)

单向链表逆序的功能(单链表的逆序算法)nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp 需要三个指针 前驱 p1 当前 p2 后继 p3 结束的条件是 p2 null nbsp nbsp nbsp nbsp 加深理解 blog csdn net bjweimengsh www bilibili com video BV1Y6 nbsp 不会出现上面的环 并且 head 和 p1 都不会改变 只需要改变 p2 p3 即可 加深理解 www bilibili












 

 

                                   

                                  

需要三个指针,前驱p1,当前p2,后继p3

结束的条件是p2==null



 


 

 

 

加深理解:

blog.csdn.net/bjweimengsh…

www.bilibili.com/video/BV1Y6…

 

不会出现上面的环,并且head和p1都不会改变,只需要改变p2,p3即可。


加深理解:www.bilibili.com/video/BV1Y6…

采用递归的方式,如果要将当前结点逆序,那么先将它的后继结点都逆序,然后把逆序后的尾结点的next指向当前结点即可,要注意的是递归出口,我们选择链表为空或者只有一个结点的情况为递归出口。

第一次递归调用:

 

头节点head的下一个节点head->next将是逆序后的新链表的尾节点,也就是说,被摘除的头接点head需要被连接到head->next才能完成整个链表的逆序

第二次递归:

 

再进行一次递归:

 

递归终止条件就是链表只剩一个节点时直接返回这个节点的指针。可以看出这个算法的核心其实是在回朔部分,递归的目的是遍历到链表的尾节点,然后通过逐级回朔将节点的next指针翻转过来。




加深理解:

www.bilibili.com/video/BV13r…


 

编程小号
上一篇 2025-02-21 22:17
下一篇 2025-03-14 23:51

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ri-ji/28322.html