Notas de pincel (diez) -lista inversa

Notas de pincel (diez) -lista inversa

Descripción del título

Ingrese una lista vinculada y, después de invertir la lista vinculada, envíe el encabezado de la nueva lista vinculada.

Idea: Use la pila, recorra desde cero para poner el valor en la pila y luego recorra desde la pila para asignar el valor al nodo.

/*
struct ListNode {
	int val;
	struct ListNode *next;
	ListNode(int x) :
			val(x), next(NULL) {
	}
};*/
class Solution {
public:
    ListNode* ReverseList(ListNode* pHead) {
        stack<int> s;
        ListNode* p=pHead;
        while(p!=NULL)
        {
            s.push(p->val);
            p=p->next;
        }
        ListNode* q=pHead;
        while(q!=NULL)
        {
            q->val=s.top();
            s.pop();
            q=q->next;
        }
        return pHead;
    }
};

Vi un código en el área de comentarios, que fue muy bueno.

Publicado 36 artículos originales · 19 alabanzas · 20,000+ visitas

Supongo que te gusta

Origin blog.csdn.net/GJ_007/article/details/105418444
Recomendado
Clasificación