js 单链表的反转
Posted ajaxkong
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js 单链表的反转相关的知识,希望对你有一定的参考价值。
思路:
- 递归的基线条件:遍历到末节点(node.next === null)
- 递归的递归条件:node.next !== null
- 当遇到末节点时,返回末节点,末节点的next接受上一个head,返回前一节的,继续下去
- 考虑特殊情况:undefined和null
var reverseList = function (head) { // 闭包 if (head === undefined || head === null) return null; var originalHead = head; var reverseHead; var reverse = function (head) { if (head.next === null) { reverseHead = head; return head; } else { var node = reverse(head.next); node.next = head; if (originalHead === head) { head.next = null; return reverseHead; } else { return head; } } } return reverse(head) }
以上是关于js 单链表的反转的主要内容,如果未能解决你的问题,请参考以下文章