题目
给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。
规则示例
规则
链表中节点的数目范围是 [0, 5000]
-5000 <= Node.val <= 5000
示例1
输入:head = [1,2,3,4,5]
输出:[5,4,3,2,1]
示例2
输入:head = [1,2]
输出:[2,1]
示例3
输入:head = []
输出:[]
解题分析:迭代
要翻转原链表,我们可以在遍历的同时改变当前节点的指向
如果要这样处理,我们每次必定会改变当前节点的next,那么我们就需要一个变量来记录原本的下一个节点,这样我们才能继续往后遍历,并且我们还需要一个变量来记录当前节点的上一个节点,这样才能反向
我们以 1 2 3 为例
解题:迭代
总结
该题除了现在的这种迭代解法,还可以使用递归。
大家可以自己思考一下递归解法,可以把答案发在评论区哦。
END