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
};

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM