笔试题(单向链表的反转)
单向链表的反转是一个经常被问到的一个面试题,也是一个非常基础的问题,。比如一个链表是这样的: 1->2->3->4->5 通过反转后成为5->4->3->2->1。

最容易想到的方法遍历一遍链表,利用一个辅助指针,存储遍历过程中当前指针指向的下一个元素,然后将当前节点元素的指针反转后,利用已经存储的指针往后面继续遍历。源代码如下:
还有一种利用递归的方法,
资料共享平台
《笔试题(单向链表的`反转)》(https://www.unjs.com)。这种方法的基本思想是在反转当前节点之前先调用递归函数反转后续节点。源代码如下。不过这个方法有一个缺点,就是在反转后的最后一个结点会形成一个环,所以必须将函数的返回的节点的next域置为NULL。因为要改变head指针,所以我用了引用。 算法的源代码如下:【笔试题(单向链表的反转)】相关文章:
1.笔试题(单向链表)
2.笔试题(链表)
3.笔试题(链表反向)
4.链表面试题-一个链表的结点结构
5.链表操作函数笔试题
6.C++笔试题:关于链表和指针
7.链表题
8.360笔试题目
到此这篇单向链表反转代码(单向链表的逆转)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/qkl-jc/52691.html