Reverse a linked list

  • + 0 comments
    // A -> B -> C -> D -> E
    
    // A -> NULL
    // B -> A
    // C -> B
    // D -> C
    // E -> D
    
    function reverse($llist) {
        $prev = NULL;
        while($llist) {
            $old_next = $llist->next;
            $llist->next = $prev;
            $prev = $llist;
            $llist = $old_next;
        }
        return $prev;
    }