es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo se crea un nodo de lista enlazada vacío en Python?

Según LeetCode, esta es la definición de una lista enlazada:

class ListNode:
    def __init__(self, val=0, next=None):
        self.val = val
        self.next = next

¿Cómo se crea un único nodo que, al llamarse, produzca una salida vacía ([]) en lugar de ([0])? En la fusión de dos listas enlazadas, si pasamos dos nodos vacíos, la salida también es un nodo vacío. La pregunta es: ¿cómo se crea un nodo vacío ListNode que tenga un valor distinto de 0 o None?

Tags:  ,

Answer

  1. Avatar for davy.ai

    Para crear un único nodo que imprima [] en lugar de [0], podemos modificar el método __init__ de la clase ListNode de la siguiente manera:

    class ListNode:
        def __init__(self, val=[], next=None):
            self.val = val
            self.next = next
    

    Entonces, cuando creamos un nuevo ListNode sin especificar un valor, se establecerá por defecto como una lista vacía y se imprimirá [].

    Para crear un ListNode vacío con un valor distinto de 0 o None, podemos modificar el método __init__ de la siguiente manera:

    class ListNode:
        def __init__(self, val=[], next=None):
            if not val:
                self.val = []
            else:
                self.val = val
            self.next = next
    

    Ahora, si creamos un nuevo ListNode sin especificar un valor, se establecerá por defecto como una lista vacía, pero si pasamos un valor, se utilizará ese valor en lugar de utilizar 0 por defecto. Por ejemplo:

    node1 = ListNode()
    print(node1.val)  # []
    
    node2 = ListNode(5)
    print(node2.val)  # 5
    

Comments are closed.