Ejercicios sobre listas

01.

Añadir un member function printReverseN(int n) a la clase Llisttal que imprima los primeros N elementos en orden inverso. Por ejemplo, si la lista contiene (5, 7, 3, 1), L.printReverseN(2) imprime 7 5. No utilices variables globales. Es posible que tengas que añadir otros parámetros a la función para que funcione.

02.

Para la clase Llist, implementar un member function bool palindrome() que determine si la lista es palíndromo, e.g. si se lee igual de izquierda a derecha y viceversa. Por ejemplo, si L1 = 10, 20, 30, 20, 10, L.palindrome() devolverá true. No tiene que ser in-place. Debe tener complejidad O(n).

03.

Para la clase Llist, implementar un member function SLList splitAndReturn() que devuelve la última mitad de la lista y recorta la lista original a su primera mitad. Por ejemplo, si L = 5, 10, 15, 20. L.splitAndReturn() devolverá una lista que contiene 15,20 y luego de la invocación L contendrá 5,10. Trata de hacer lo en O(n), in-place.