单链表倒置

单链表倒置可以说是面试中提问率最高的题目了。网上有很多单链表倒置的算法,但是实现解释的不是很清晰。总结了一些算法之后,把我自己认为好理解的简单方便的算法整理下来,方便以后自己复习。
1.迭代
下面的代码及注释应该很好的解释了头插法来实现单链表倒置的思路。
2.递归
递归来实现倒置最直接的描述就是入栈出栈,链表节点从头结点开始依次入栈,最后到尾节点入栈结束;开始出栈:尾节点最先出栈,出栈时依次将两个相邻的节点交换指向;出栈结束后,整个链表的倒置就完成了。重要的地方是将最先出栈的尾节点返回,这就是倒置后的链表的头结点。
欢迎大家学习、共享,如果文章中有错误或漏洞,请大家在评论区留言!!