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

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

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

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

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

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

通过代码:

var reverseList = function(head) {
    let prev = null;
    let curr = head;
    while (curr !== null) {
        let cnext = curr.next;
        curr.next = prev === null ? null : prev
        prev = curr;
        curr = cnext;
    }
    return prev
};
原文地址:https://www.cnblogs.com/manru75/p/10389088.html