es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Invertir una lista enlazada utilizando recursión en C++

Recibo una lista vacía como salida, ¿alguien puede ayudarme con esto?

ListNode* reve(ListNode* L, ListNode* t){
        if(L->next==NULL){
            t=L;
            print(t);
            return L;
        }
        ListNode* k = reve(L->next,t);
        k->next=L;
        L->next=NULL;
        return L;
    }
    ListNode* reverseList(ListNode* head) {
        ListNode* temp=NULL;
        reve(head,temp);
        return temp;
    }
Tags:  , ,

Answer

  1. Avatar for davy.ai

    Es difícil proporcionar una solución sin ver los datos de entrada y salida, y cualquier mensaje de error potencial. Sin embargo, aquí hay algunas cosas que verificar:

    1. ¿Estás pasando una lista enlazada válida como argumento para reverseList()? Si no lo haces, la función devolverá una lista vacía.
    2. ¿Has inicializado los punteros next de cada objeto ListNode en la lista enlazada a NULL?
    3. Intenta recorrer el código con un depurador o imprimir declaraciones de depuración para ver dónde está fallando el código.

    En general, no está claro dónde se encuentra el problema, pero estos son algunas áreas potenciales para investigar.

Comments are closed.