Habilidades de problemas de listas vinculadas: use nodos pseudo-cabeza

Sugerencia:
Para el problema de la lista vinculada, el valor de nodo apropiado no se conoce cuando se crea el nodo principal, por lo que generalmente es necesario inicializar un pre-puntero (pseudo-nodo principal) primero, y el siguiente nodo del puntero apunta a la cabeza del nodo principal real.El propósito de usar punteros previos es que no hay ningún valor de nodo disponible cuando se inicializa la lista vinculada.

struct ListNode {
    
    
    int val;
    ListNode *next;
    ListNode(int x) : val(x), next(NULL) {
    
    }
};
ListNode* pre = new ListNode(0); //0为预先指针的值,pre->next指向head
ListNode* current = pre; //移动current

return pre->next; //返回真实头节点

Ejemplos:
1. Pregunta de algoritmo: 2. Sumar dos números
2. Pregunta de entrevista 25. Combinar dos listas enlazadas ordenadas

para resumir:

1. El uso del nodo pseudo-cabecera (pre-puntero) se puede inicializar cuando el valor del nodo principal de la lista enlazada es incierto, de modo que el proceso posterior de establecimiento de la lista enlazada puede llevarse a cabo, pero necesita ser devuelto pre->next.

Supongo que te gusta

Origin blog.csdn.net/qq_33726635/article/details/106445069
Recomendado
Clasificación