206.反转链表

69 阅读1分钟

给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 例:1->2->3->4变成4->3->2->1

解题思路: 需要三个指针: pre(上节点)、cur (本节点)、next(下节点) 首先pre指向null,然后pre指向cur,cur指向next,next随后继续向下探索节点,当next指向为null时,也就是找不到下个节点的时候,说明翻转到头了

function(head){
    if (!head) return null;
    let pre = null
    cur = head;
    //当cur有值时
    while(cur){
        let next = cur.next;
        cur.next = pre;
        //指向完毕时让pre = cur,cur = next指针
        pre = cur;
        cur = next;
    }
    return pre
    
}