Day20-反转链表
🔗 LeetCode 206 - Reverse Linked List
📌 题目描述
给你单链表的头节点 head,请你反转链表,并返回反转后的链表。
🔍 示例
| 1 | 输入: head = [1,2,3,4,5] | 
💡 解题思路
链表反转是经典题目,可通过迭代或递归实现。
迭代做法:
- 使用 prev指针保存上一个节点;
- 每次迭代,将当前节点的 next指向prev;
- 向前推进 curr和prev。
✅ JavaScript 实现
| 1 | var reverseList = function(head) { | 
✅ Swift 实现
| 1 | func reverseList(_ head: ListNode?) -> ListNode? { | 
🧠 思考拓展
- 如何使用 递归 实现链表反转?
- 如何反转部分链表(如第 m 到 n 个节点)?
- 如何在链表反转的过程中处理带有随机指针的结构?