Invertir una lista enlazada

Tiempo límite 2 s
Memoria límite 256 MB
Casos de prueba 8
Dificultad Fácil Algoritmos
Mostrar (2) Listas enlazadasRecursión
Enviar solución

Puntos: 5

Tipos de problema
Lenguajes permitidos
C, C++, Java, Python, Rust

Invierte una lista enlazada: el último nodo pasa a ser la cabeza y cada nodo apunta al que antes estaba antes que él.

La lista viene como la secuencia de sus valores.

Seguimiento: una lista enlazada se puede invertir de forma iterativa o recursiva. ¿Puedes hacerlo de las dos maneras?

Entrada

La primera línea tiene \(n\) \((1 \le n \le 10^5)\) y la segunda los valores de la lista en orden \((|v| \le 5000)\).

Salida

Una línea con los valores de la lista invertida.

Ejemplo 1

Entrada

5
1 2 3 4 5

Salida

5 4 3 2 1

Ejemplo 2

Entrada

2
1 2

Salida

2 1

Ejemplo 3

Entrada

1
7

Salida

7

Basado en el problema 206 de LeetCode, Reverse Linked List, adaptado a entrada y salida estándar; enunciado redactado para este juez. Es parte de la lista Grind 75 de Yangshun Tay.


Comentarios

No hay comentarios por el momento.