JavaScript算法系列之-----------------链表反转(JS实现)

Posted 灭世的蜜糖

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript算法系列之-----------------链表反转(JS实现)相关的知识,希望对你有一定的参考价值。

题目:输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。

 

之前一直对JS实现链表理解不了,被算法大牛指点了一下豁然开朗。

function ListNode(x){
    this.val = x;
    this.next = null;
}

在JS中,this.val代表当前节点的值,this.next指向下一个节点,若this.next为null(对象),则说明该节点为链表的最后一个节点。

PS:把下一个节点赋值给当前对象的next属性,通过这样的方式连接。

通过代码:

function printListFromTailToHead(head)
{
    let arr = [];
    let start = head;
    while(start){
        arr.push(start.val);
        start = start.next;
    }
    return arr.reverse();
}

以上是关于JavaScript算法系列之-----------------链表反转(JS实现)的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript Python JavaGo算法系列之快速排序篇

JavaScript Python JavaGo算法系列之快速排序篇

JavaScript算法 ,Python算法,Go算法,java算法,系列之归并排序篇

JavaScript算法 ,Python算法,Go算法,java算法,系列之归并排序篇

算法系列之--Javascript和Kotlin的插入算法(原)

算法系列之--Javascript和Kotlin的选择算法(原)