Lista vinculada: elimine un nodo en una sola lista vinculada sin dar el encabezado de toda la lista vinculada

 

Descripción del problema:

Hay una lista enlazada simple que contiene valores de nodo de tipo int. Dado un nodo en una lista enlazada, pero no dado el nodo principal de toda la lista enlazada, elimine un nodo en la lista enlazada.

 

Implementación de algoritmo:

Nodo de clase { 

valor int público;
Nodo público siguiente;

Nodo público (valor int) {
this.value = value;
}

}

public void removeWiredNode (nodo de nodo) { 

if (node ​​== null) {
return;
}

Nodo siguiente = nodo.siguiente;
if (next == null) {
lanzar una nueva RuntimeException ("no se puede eliminar el último nodo");
}

node.value = next.value;
node.next = next.next;
}

 

Análisis de algoritmo:

1. Hablando estrictamente, no se puede eliminar porque no se puede encontrar el nodo precursor;

2. Explore la viabilidad de la eliminación, y no un método para restringir estrictamente el problema, y ​​proporcione los casos especiales incluidos en la solución;

3. Indique que el nodo final no se puede eliminar y reemplace el valor del nodo del nodo no final.

 

Supongo que te gusta

Origin www.cnblogs.com/heibingtai/p/12682507.html
Recomendado
Clasificación