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