206. 反转链表 {leetcode}/problems/reverse-linked-list/[LeetCode - 206. 反转链表 ^] 示例 1: 输入:head = [1,2,3,4,5] 输出:[5,4,3,2,1] 示例 2: 输入:head = [1,2] 输出:[2,1] 示例 3: 输入:head = [] 输出:[] 提示: 链表中节点的数目范围是 [0, 5000] -5000 <= Node.val <= 5000 进阶:链表可以选用迭代或递归方式完成反转。你能否用两种方法解决这道题? 思路分析 一刷 link:{sourcedir}/_0206_ReverseLinkedList.java[role=include] 二刷 link:{sourcedir}/_0206_ReverseLinkedList_2.java[role=include] 三刷 link:{sourcedir}/_0206_ReverseLinkedList_3.java[role=include] 思考题 可以尝试一下递归! 另外,思考一下如何通过传参来简化代码。 递归需要加强一下,反转链表的递归细节再推敲推敲。 参考资料 206. 反转链表 - 官方题解 206. 反转链表 - 双指针,清晰图解