1.题目
- 定义一个函数,输入一个链表的头节点,
反转该链表并输出反转后链表的头节点。
示例:
输入: 1->2->3->4->5->NULL
输出: 5->4->3->2->1->NULL
限制:
0 <= 节点个数 <= 5000
2. 思路
2.1 递归法
递归的两个条件:
- 终止条件是当前节点或者下一个节点为null;
- 在函数内部,改变节点的指向,也就是head的下一个节点指向head递归函数那句。
head.
next.next= head
这个条件可能理解起来有点抽象,那我们先来看看动图(动图来自@wang_ni_ma):

具体实现代码如下:

本文介绍了如何使用JavaScript来实现链表的反转,包括递归法和迭代法两种思路。递归法通过设置终止条件和改变节点指向进行反转,而迭代法则通过两个指针pre和cur配合调整节点关系来完成反转操作。
1815

被折叠的 条评论
为什么被折叠?



