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