3种方法,3幅图,1个gif,把它讲的明明白白
Day14 作业总结
反转链表的方法:迭代和递归。
迭代法:
Step 1 先标记下这个节点
Step 2 一个迭代步中,curNode 指向 preNode,便完成当前迭代步的反转
Step 3 每次迭代,preNode 和 curNode 向前移动 1 步
以上步骤归结为如下代码(代码来自我的星友 Leven):
2 递归法
首先反转自 head.next 后的链表,node 此时指向翻转后链表的头部;最后将 head.next 节点链接到 head 节点,最后的最后将 head 节点的 next 域置为 None,因为 head 是终点了。
代码如下:
3 尾递归
还有一位星友诚Slime提供了第二种递归思路,gif 演示如下:
代码如下:
Day 15 作业题
又是七天一周过去了,Day15 我们思考和讨论如下话题:
程序员一定要学算法吗,说出你为什么要学习算法?
可以参考:https://www.zhihu.com/question/290268306
加入星球
加入星球,从零学程序员必备的算法,每天在星球内记录学习过程并打卡,超赞!
打卡 300 天,退还除平台收取的其他所有费用。
长按二维码查看
阅读更多:
点个在看