Categorías
Algorithms

Lista enlazada doble inversa

Dado el nodo principal de una lista enlazada doble, invierta la lista y devuelva el nuevo nodo principal.

Solución Java

/*
    * For your reference:
    *
    * DoublyLinkedListNode {
    *     int data;
    *     DoublyLinkedListNode next;
    *     DoublyLinkedListNode prev;
    * }
    *
    */
static DoublyLinkedListNode reverse(DoublyLinkedListNode head) {
    DoublyLinkedListNode p = head;
    DoublyLinkedListNode newHead = head;
 
    while(p!=null){
        DoublyLinkedListNode t = p.next;
        p.next = p.prev;
        p.prev = t;
 
        newHead= p;
        p = t;
    }
 
    return newHead;
}

  LeetCode - Programación del curso II (Java)

Por Programación.Click

Más de 20 años programando en diferentes lenguajes de programación. Apasionado del code clean y el terminar lo que se empieza. ¿Programamos de verdad?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *