Para encontrar cual seria el elemento k-esimo hice una lista ordenada de izquierda a derecha y busque cual era el k-esimo ahi. Mi duda ahora queda en como logro conseguir el arbol que tiene como raiz ese elemento, porque si creo otra funcion auxiliar que me devuelva el arbol que tiene a ese elemento de raiz estaria recorriendo dos veces los nodos, no?
Esa idea es un buen comienzo. Algo se había empezado a hablar en este otro hilo.
Ahora preguntate ¿hace falta construir toda la lista o podrías cortar su construcción cuando tenga largo k? ¿Podrías resolver esto?
Como segundo paso, que hace que todo sea más fácil ¿hace falta construir la lista, aún esa primera parte, o alcanza con saber cuántos elementos tendría si la estuvieras construyendo?
Seguramente creaste una función auxiliar que devuelve una lista. ¿Y si en vez de devolver la lista devuelve la longitud que tendría?