(Python) algoritmo de platos de perro diario (serie de la lista) _leetcode 237. borrar la lista de nodos

Por favor escriba una función que hace posible eliminar una lista dada (no final) nodo, sólo se le requerirá para se elimina un nodo dado.

Una lista de los existentes - cabeza = [4,5,1,9], se puede expresar como:

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:

Lista que 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.

Fuente: Botón de estancia (LeetCode)
enlace: https: //leetcode-cn.com/problems/delete-node-in-a-linked-list
 

Esta pregunta es muy interesante, que no tiene cabeza, sólo para un nodo

1-> 2-> 3-> 4, suprimido aquí 2

1-> 3-> 3-> 4 1 -.> 3-> 4

# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, x):
#         self.val = x
#         self.next = None

class Solution:
    def deleteNode(self, node):
        """
        :type node: ListNode
        :rtype: void Do not return anything, modify node in-place instead.
        """
        node.val = node.next.val
        node.next = node.next.next

Que hay casos en la cabeza, no sé derecha

# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, x):
#         self.val = x
#         self.next = None

class Solution:
    def deleteNode(self, node):
        """
        :type node: ListNode
        :rtype: void Do not return anything, modify node in-place instead.
        """
        if head == node:
            tmp=head.next
            head.next = None
            head = tmp
        else:
            while(head.next.next):
                if head.next==node:
                    head.next= head.next.next
                else:
                    head = head.next

 

Publicado 44 artículos originales · ganado elogios 0 · Vistas 1909

Supongo que te gusta

Origin blog.csdn.net/weixin_39331401/article/details/104548169
Recomendado
Clasificación