La aplicación de punteros dobles en la resolución de problemas: puntero doble en la misma dirección; puntero doble opuesto

1. Punteros dobles en la misma dirección:
Ejemplo: 19. Elimine el nodo N de la parte inferior de la lista vinculada.
Solución:
1. Defina dos punteros para apuntar a la cabeza de la lista vinculada respectivamente.
2. Un puntero se mueve primero N bits;
3. Los dos se mueven juntos en la misma dirección. Cuando el que se mueve primero llega al final de la lista, el que se mueve más tarde apunta al enésimo desde abajo.

2. Punteros dobles opuestos:
Ejemplo: Resuelva el problema: 1. La suma de dos números , encuentre la suma de dos números en la matriz igual al valor del objetivo.
Solución:
1. Después de ordenar la matriz, defina dos punteros para apuntar al principio y al final del valor respectivamente;
2. Si la suma es menor que el objetivo en este momento, el "puntero izquierdo" se mueve una posición hacia la derecha;
3. Si la suma es mayor que el objetivo en este momento, entonces El "puntero derecho" se moverá una posición a la izquierda.
4. Salte del circuito cuando la suma sea igual al objetivo.

para resumir:

1. Recuerde las ideas comunes de resolución de problemas de algoritmos comunes: puntero doble en la misma dirección, puntero doble en la dirección opuesta.

Supongo que te gusta

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