delete-nodo-in-a-lista enlazada
Título Descripción
Por favor escriba una función que hace posible eliminar una lista dada (no final) nodo, sólo se requiere para se elimina un nodo dado.
Una lista de los existentes - cabeza = [4,5,1,9], se puede expresar como:
4-> 5-> 1-> 9
Ejemplo 1:
Entrada: cabeza = [4,5,1,9], nodo = 5
Salida: [4,1,9]
Después de un segundo nodo dado en la lista que valora de 5, a continuación, llame a su función: Diccionario la cepa lista 4 -> 1 -> 9.
Ejemplo 2:
Entrada: cabeza = [4,5,1,9], nodo = 1
Salida: [4,5,9]
Después de un determinado valor 1 de la lista que el tercer nodo, a continuación, llamar a su función: Diccionario la cepa lista 4 -> 5 -> 9.
Descripción:
la lista comprende al menos dos nodos.
El valor de todos los nodos de la lista son únicos.
No determinado nodo y el nodo final debe ser un nodo válido en la lista enlazada.
No devuelva ningún resultado de sus funciones.
Pensando
objeto de la solicitud para eliminar el nodo nodo actual, la dificultad radica en no saber cómo el nodo precursor, el punto de nodo a nodo precursor de hacer el sucesor del nodo actual.
Algoritmo pensó
el contenido de un nodo después del nodo copiado al nodo nodo, y luego borrar un nodo después del nodo.
código
public class Solution {
public void deleteNode(ListNode node){
node.val = node.next.val;
ListNode nextTemp = node.next.next;
node.next = nextTemp;
}
}
rendimiento